Debugging S3 Requests
When things go wrong with aws s3
or aws s3api
calls against Akave O3, the first step is to enable debug logging.
Enable Debug Output
Add --debug
to any AWS CLI command to see:
- HTTP request headers
- HTTP response codes
- Signature payloads
- Region and profile resolution
Example:
aws s3api list-buckets \
--endpoint-url https://o3-rc1.akave.xyz \
--debug
Review Signature and Region
Check that:
- The region is set to
akave-network
- You’re using the correct profile (
--profile o3
) - Your credentials are loaded correctly
Common Debug Traps
- SignatureDoesNotMatch → Incorrect region, invalid date, or credentials
- InvalidArgument → Unsupported header or parameter
- MissingContentMD5 → Some
put-object
operations now require content MD5 (especially with newer CLI versions) - TLS errors → Confirm that the endpoint is HTTPS and correctly resolves
Validate the Config File
Check ~/.aws/config
for:
[profile o3]
region = akave-network
request_checksum_calculation = WHEN_REQUIRED
response_checksum_validation = WHEN_REQUIRED
Advanced: Use curl for low-level testing
You can replicate basic S3 GET/PUT operations manually using presigned URLs or raw signature V4 requests if needed; useful to isolate SDK/CLI bugs.
Stay Current
The AWS CLI and SDKs change frequently. If a bug is suspected:
- Check known issues on GitHub (boto3, aws-cli, s3transfer)
- Try downgrading or upgrading versions
- Use profiles with custom settings to isolate test cases
Last updated on