Go
The AWS SDK for Go v2 works with Zata after one small fix: a middleware that keeps the Accept-Encoding header out of the request signature. This page gives a complete example with that fix.
service/s3 v1.114.3) and Go 1.24 on Zata in October 2026: upload, list and delete.Before you start
- A bucket. See Create a bucket.
- An access key and secret key from the same region as the bucket. See Access keys.
- Go installed. See go.dev/doc/install.
Connection settings
Install the SDK
In your Go module:
Set your keys
Keep your keys out of the code. The SDK reads them from environment variables:
Example: upload, list and delete
This program uploads myfile.txt, lists the files in the folder and deletes the file again. For a bucket in Mumbai, use https://bom01.zata.ai.
Run it:
Without unsignedAcceptEncoding, every request fails with SignatureDoesNotMatch. Other tools built on the Go SDK v2 have the same problem.
The checksum options exist in service/s3 releases from January 2025. On older releases, leave those two lines out.
Downloads (GetObject) and presigned URLs were not tested with the Go SDK yet. If you need tested download links, make them with Python or the AWS CLI.
Troubleshooting
For other errors, see Signature errors and Wrong endpoint or region.