-
Notifications
You must be signed in to change notification settings - Fork 1.9k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Announcement: S3 default integrity change #4392
Comments
Surely this should have been a breaking change? |
They did the same thing in the JS client. Leave it to AWS to introduce breaking changes and pretend their library isn't used extensively with other services... |
Ouch.. this really should have been a major version bump or opt-in instead of opt-out. |
+1
|
For those using third-party service implementations, please see the updated disclaimer above:
|
@FChmiel this is most likely a result of not using the latest version of botocore where this constant was introduced ( Tracking issue: boto/s3transfer#324 |
Just so you know - this completely broke the sns_extended_client. sns_extended_client is an AWS implementation. |
hey @jonathan343,
|
Thanks @jonathan343. I also suspect its not us using an outdated botocore version: We only pin the boto3 version and botocore is a transitive dependancy of this only. |
@IsaevIlya @FChmiel Are either of you able to provide a reproducible error? Also, can you verify the correct versions in your environment after installing all dependencies using something like The following shows me installing the latest version of boto3 from PyPI and successfully importing
However, when I install a version of botocore < 1.36.0 in the same environment (this is a dependency conflict) I get the same
|
Thanks, I replicate your (correct) behaviour with poetry when trying to generate a a reproducible error. In my lock file I have s3transfer==0.11.0, so that may be it. |
@talsalmona - thanks for the report. I've sent the concern to the maintainers of that package. If you can, it would be helpful to provide more details on the failure scenario on the https://github.com/awslabs/amazon-sns-python-extended-client-lib/issues |
Sure, added here: awslabs/amazon-sns-python-extended-client-lib#20 |
Hey @jonathan343,
|
In AWS SDK for Python v1.36.0, we released changes to the S3 client that adopts new default integrity protections. For more information on default integrity behavior, please refer to the official SDK documentation. In SDK releases from this version on, clients default to enabling an additional checksum on all Put calls and enabling validation on Get calls.
You can disable default integrity protections for S3. We do not recommend this because checksums are important to S3 integrity posture. Integrity protections can be disabled by setting the config flag to
when_required
, or by using the related AWS shared config file settings or environment variables.Disclaimer: The AWS SDKs and CLI are designed for usage with official AWS services. We may introduce and enable new features by default, such as these new default integrity protections prior to them being supported or handled by third-party service implementations. You can disable the new behavior with the
WHEN_REQUIRED
value for therequest_checksum_calculation
andresponse_checksum_validation
configuration options covered in Data Integrity Protections for Amazon S3.The text was updated successfully, but these errors were encountered: