日々精進

新しく学んだことを書き留めていきます

boto3でS3のget_bucket_locationがNoneを返す

原因はus-east-1リージョンはロケーションの制約がないため。get_bucket_locationはbucketのリージョンを返すと思っていたけど、 以下資料の「ロケーションの制約」を返すっぽい。

AWS サービスエンドポイント - AWS 全般のリファレンス

なのでap-northeast-1リージョンのbucketに対してget_bucket_locationを実行するとap-northeast-1を返すけど us-east-1リージョンのbucketの場合はNoneを返す。AWS CLIとかでやっても同じ。 通常はAWS_REGION環境変数にリージョンを設定しないといけないけど、us-east-1の場合は設定しなくてもアクセス出来る。

参考:

docs.aws.amazon.com