我是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-南-1' 然后我从这个链接尝试了一堆其他但没有帮助 https://docs.aws.amazon.com/general/latest/gr/rande.html
我的代码现在看起来像这样
#!/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.
感谢您的帮助和建议。
答案 0 :(得分:3)
来自https://docs.aws.amazon.com/cli/latest/reference/s3api/create-bucket.html
us-east-1之外的区域需要指定适当的LocationConstraint才能在所需区域中创建存储桶
我认为您需要在创建存储桶时指定位置约束。这是http://boto3.readthedocs.io/en/latest/reference/services/s3.html
的摘录response = client.create_bucket(
...
CreateBucketConfiguration={
'LocationConstraint': 'eu-west-1'
},
...
)