-
Notifications
You must be signed in to change notification settings - Fork 4.2k
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 #9214
Comments
Not sure is it related but since users started to use 2.23.0 aws, the put operation to s3 ceph storage doesn't work. Config looks like this:
How I try to upload: The object is a 4MB object. Also tried to define --content-length 14, seems like this option skipped. |
breaks uploading to backblaze also:
|
Hello. I have also migrated to 2.23.0, and now I have this kind of error when trying to synchronise files ~$ aws s3 sync folder_to_sync s3://custom/ --profile default --endpoint-url https://my-endpoint --acl public-read
upload failed: folder_to_sync/path/to/zip/file.zip to s3://custom/path/to/zip/file.zip argument of type 'NoneType' is not iterable Did I miss something? Is there a breaking change I'm not aware of? |
Yeah, my CI is also started to fail with
|
We also have issues on multiple servers and different endpoints.
|
I've debugged this a bit, version 2.23 should work just fine if you use the AWS S3 service, but if you're using your own endpoint/service then the errors described above will happen, for people that absolutely need to get this working as soon as possible and used snap to install it, run the following script as root. #!/bin/bash
snap remove aws-cli
if [[ $(uname -m) == "x86_64" ]]; then
snap install aws-cli --classic --revision=1148
else
snap install aws-cli --classic --revision=1149
fi
snap refresh --hold aws-cli This forces the version 2.22.35 so you can get moving, it will also disable the automatic refresh of the AWS CLI package. If you want to resume updates later, run: A list of the revisions:
This will get you a bit of time to see how to upgrade and get 2.23 working properly. |
If you need to download a specific version of the CLI for any reason, please do so using the official AWS installation instructions which can be found at the links below: |
For those using third-party service implementations, please see the updated disclaimer above:
|
Hi @RyanFitzSimmonsAK & @jonathan343 - The What seems to be happening is that the S3 Transfer Manager ensures that Now, in Botocore's The issue seems to be in S3 Transfer Manager - I think that, if |
Hi @metadaddy, thanks for bringing this to our attention. Our investigation matches what you described. A default value we specified in s3transfer is taking precedence over the “when_required” config and setting a CRC32 default checksum. We’ll work on addressing this issue and provide more updates when we have them. We will use the issue you made in s3transfer (boto/s3transfer#327) to track this. |
Thanks for the confirmation, @RyanFitzSimmonsAK. I just submitted a PR with a fix, and tests: boto/s3transfer#328. |
…torage-provider to prevent issues with non-AWS S3 providers Fixes #3964 Related to aws/aws-cli#9214
Got this error: |
Because of aws/aws-cli#9214, 2.23.0 and later won't work with our non-Amazon-hosted S3 buckets.
We are using the AWS CLI to push data to SwiftStack Client. We're using the 3 commands: aws s3api create-multipart-upload, aws s3api upload-part, and aws s3api complete-multipart-upload. Using AWS CLI version 2.23.1, we're suddenly seeing a previously mentioned error with the upload-part command:
Trying to set the checksum type flags is not working, and i don't see an option to use "when_required" - how can we fix this? |
Hi @ssolanki38 , export AWS_REQUEST_CHECKSUM_CALCULATION=when_required
export AWS_RESPONSE_CHECKSUM_VALIDATION=when_required |
Note: these are the v1 CLI docs.
The v2 CLI docs about environment variables mention these variables too, but they don't seem to work. I just tested using |
In AWS CLI v2.23.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: