Why did my AWS upload fail, and how can I fix it?¶
If cartloader upload_aws fails, it is usually one of the issues below.
1) AWS credentials are missing or invalid¶
Common messages:
Unable to locate credentialsThe security token included in the request is invalidExpiredToken
Checks:
1 2 | |
Fix:
- Configure credentials (
aws configure) or setAWS_ACCESS_KEY_ID,AWS_SECRET_ACCESS_KEY, and (if needed)AWS_SESSION_TOKEN. - If you use temporary credentials, refresh them before running upload.
2) Permission denied on bucket/prefix¶
Common messages:
AccessDeniedAn error occurred (AccessDenied) when calling ...
Checks:
1 2 | |
Fix:
- Ensure IAM policy allows at least
s3:ListBucket,s3:PutObject, ands3:GetObjecton the target bucket/prefix. - Confirm bucket policy does not block your principal.
3) Wrong S3 destination path¶
Common issue:
- Upload appears to "succeed" but files are not where you expected.
Fix:
- Verify
--s3-diris a full S3 URI likes3://bucket/path. - In collection mode (
--in-list), remember each sample is uploaded to a subdirectory under--s3-dir.
4) Input directory/catalog problems¶
Common messages:
- Missing
catalog.yaml - Missing expected PMTiles/assets
Fix:
- Confirm
--in-dirpoints to a completedrun_cartload2(or collection parent forrun_cartload2_multi). - In single mode, verify
catalog.yamlexists (or pass--catalog-yamlexplicitly).
5) Docker run cannot see AWS credentials¶
If local aws works but Docker upload fails, credentials may not be available inside the container.
Fix:
- Mount/pass AWS credentials into the container (for example,
~/.aws) or pass requiredAWS_*env vars. - Confirm the
awsbinary inside container is available (or set--aws).
6) Region, endpoint, or network issues¶
Common messages:
Could not connect to the endpoint URL- timeout/name resolution errors
Fix:
- Verify internet/VPN/proxy settings.
- Check bucket region and AWS CLI region configuration.
Minimal preflight before upload¶
1 2 | |
If both pass, retry:
1 | |
See also: