简体   繁体   中英

How can I determine the region for a public AWS S3 bucket?

I know I can determine the region for AWS S3 buckets I own by doing:

aws s3api get-bucket-location --bucket <my-bucket>

but how can I determine the region for a public access bucket (which clearly I do not own)?

If I try to access one of the AWS Open Data buckets like noaa-goes16:

$ aws s3api get-bucket-location --bucket noaa-goes16

I get:

An error occurred (AccessDenied) when calling the GetBucketLocation operation: Access Denied

Yeah, you would think this would be easier to figure out, but here's the method I use:

$ curl -sI https://noaa-goes16.s3.amazonaws.com | grep bucket-region

which returns:

x-amz-bucket-region: us-east-1

Any objects returned from the bucket will respond with a x-amz-bucket-region header which contains the buckets region.

In addition by running a head command curl --head $BUCKET_NAME.s3.amazonaws.com against your bucket you can see the above header to identify the region your bucket is in.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM