For Workers & Pages, what is the name of the domain?
Issue is not related to “Workers & Pages”. It is with R2.
What is the error number?
No Error number
What is the error message?
An error occurred (InternalError) when calling the PutObject operation (reached max retries: 2): We encountered an internal error. Please try again.
What is the issue or error you’re encountering
I’m unable to upload files using AWS S3 CLI
What steps have you taken to resolve the issue?
Everything was working fine until a few days ago. Today, I noticed my backups are not uploaded. Upon checking, I encountered the said error.
So, I created a new API token and configured it in my machine using “aws configure” command, but I’m still getting the same error.
What are the steps to reproduce the issue?
Create a new API Token:
Choose “Object Read & Write”
Specify buckets
TTL - Forever
Client IP Address Filtering - Didn’t even touch this field. Both Include and Exclude text-input fields are left blank.
I clicked on “Create API token”. The next page showed me “Access key ID” and “Secret Access Key”
In my ubuntu, opened up a new terminal and executed “aws configure”.
Copy and pasted “Access Key ID”
Copy and pasted “Secret Access Key”
For region, typed “auto”
For output, typed “json”.
Pressed enter.
R2 has recently pushed out more support for CRC32 checksums which was affecting the aws s3 cp operation. Your command should now be working without issues.
Because the CLI defaults to the NVME variant, you must supply --checksum-algorithm CRC32 as R2 doesn’t yet support the NVME variant.
Hi folks. R2 added CRC32 support. The AWS CLI changed recently and defaulted their client to send CRC64-NVME which we do not support. Most if not all official SDKs default to CRC32. The workaround when using the cli tool is to add --checksum-algorithm CRC32.
Apologies for any inconvenience, we will be sure to improve the response messages you get back when using the CLI to make this more apparent.
Support for CRC32C and CRC64NVME will be added shortly.
That failure is out of date and should no longer appear with current usage of R2 as R2 supports STREAMING-UNSIGNED-PAYLOAD-TRAILER headers now. The issues are unrelated.
The current issue is that the CLI behavior is sending NVME checksums for CRC64. Support for CRC64NVME is not yet released, so you need to attach an explicit --checksum-algorithm CRC32 parameter to the cli call.