简体   繁体   English

Boto3 AWS S3存储桶创建错误

[英]Boto3 AWS S3 bucket creation error

I am beginner in Boto3 and working on AWS developer certification. 我是Boto3的初学者,致力于AWS开发人员认证。 I am trying to create a S3 bucket in my account. 我正在尝试在我的帐户中创建一个S3存储桶。 Below is my code 下面是我的代码

#!/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' Then I tried a bunch of others from this link but did not help https://docs.aws.amazon.com/general/latest/gr/rande.html region_name ='ap-south-1',然后我尝试通过此链接尝试其他方法,但没有帮助https://docs.aws.amazon.com/general/latest/gr/rande.html

My code looks like this now 我的代码现在看起来像这样

#!/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')

I get the below error : 我收到以下错误:

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.

Thanks for your help and suggestions. 感谢您的帮助和建议。

From https://docs.aws.amazon.com/cli/latest/reference/s3api/create-bucket.html 来自https://docs.aws.amazon.com/cli/latest/reference/s3api/create-bucket.html

Regions outside of us-east-1 require the appropriate LocationConstraint to be specified in order to create the bucket in the desired region us-east-1以外的区域需要指定适当的LocationConstraint才能在所需区域中创建存储桶

I believe you need to specify the location constraint when you create bucket. 我相信您在创建存储桶时需要指定位置约束。 Here's a snippet from http://boto3.readthedocs.io/en/latest/reference/services/s3.html 这是来自http://boto3.readthedocs.io/en/latest/reference/services/s3.html的摘录

response = client.create_bucket(
   ...
    CreateBucketConfiguration={
        'LocationConstraint': 'eu-west-1'
    },
    ...
)

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

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