R2 multipart upload with aws-sdk-go-v2 always fails

For Workers & Pages, what is the name of the domain?

N/A

What is the error number?

500

What is the error message?

cause: operation error S3: UploadPart, exceeded maximum number of attempts, 3, https response error StatusCode: 502, RequestID: , HostID: , api error InternalError: We encountered an internal connectivity issue. Please try again.

What is the issue or error you’re encountering

A simple straightforward Go program using aws-sdk-go-v2 that performs a multi-part upload always fails.

What steps have you taken to resolve the issue?

The program uses the latest version of aws-sdk-go-v2 s3 client (v1.79.3), and follows the guidelines in aws-sdk-go · Cloudflare R2 docs.

What are the steps to reproduce the issue?

  • Clone and build: github dot com jfroy/goputr2
  • Create a R2 bucket and access key.
  • Set AWS_ACCESS_KEY_ID and AWS_SECRET_ACCESS_KEY in the environment.
  • Create a random input file: dd if=/dev/urandom of=./random-file bs=1M count=500
  • Run the program: ./goputr2 -endpoint https://<account_id>.r2.cloudflarestorage.com -bucket -file ./random-file -key random-file

This topic was automatically closed after 15 days. New replies are no longer allowed.