Boto3 AWS S3存储桶创建错误

12

我是Boto3的初学者,正在准备AWS开发者认证考试。 我尝试在我的账户中创建一个S3存储桶。以下是我的代码

#!/usr/bin/python
import boto3
from boto3.session import Session
session = Session(aws_access_key_id='asd',aws_secret_access_key='asdas')

s3 = session.resource('s3')
s3.create_bucket(Bucket='myfbucket789076541253334')

region_name='ap-south-1',然后我尝试了此链接中的许多其他选项,但都没有帮助。

我的代码现在看起来像这样:

#!/usr/bin/python
import boto3
from boto3.session import Session
session = Session(aws_access_key_id='xyz',aws_secret_access_key='+af',region_name='eu-west-1')

s3 = session.resource('s3')
s3.create_bucket(Bucket='myfbucket789076541253334')

我遇到了以下错误:

Traceback (most recent call last):
  File "S3_bucket.py", line 6, in <module>
    s3.create_bucket(Bucket='myfbucket789076541253334')
  File "/Users/xvz/.local/lib/python3.6/site-packages/boto3/resources/factory.py", line 520, in do_action
    response = action(self, *args, **kwargs)
  File "/Users/xvz/.local/lib/python3.6/site-packages/boto3/resources/action.py", line 83, in __call__
    response = getattr(parent.meta.client, operation_name)(**params)
  File "/Users/xvz/anaconda3/lib/python3.6/site-packages/botocore/client.py", line 314, in _api_call
    return self._make_api_call(operation_name, kwargs)
  File "/Users/xvz/anaconda3/lib/python3.6/site-packages/botocore/client.py", line 612, in _make_api_call
    raise error_class(parsed_response, operation_name)
botocore.exceptions.ClientError: An error occurred (IllegalLocationConstraintException) when calling the CreateBucket operation: The unspecified location constrai
nt is incompatible for the region specific endpoint this request was sent to.

感谢您的帮助和建议。


我的 boto 版本是 2.48.0。 - Raghunandan Sk
它适用于“us-east-1”。 - Raghunandan Sk
1个回答

24

1
这是正确的。出于遗留/向后兼容性原因,没有位置约束的存储桶意味着该存储桶将被限制为“us-east-1”。因此,向不同区域端点发送创建请求会因此失败。 - Michael - sqlbot
请确保检查您的 ~/.aws/config 文件,以查看是否有不同的 [default] region=<your region> - Will

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接