python - Boto3 AWS S3 存储桶创建错误

标签 python amazon-web-services amazon-s3 boto3

我是 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' 然后我从这个链接尝试了一堆其他人但没有帮助 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.

感谢您的帮助和建议。

最佳答案

来自 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

我相信您需要在创建存储桶时指定位置约束。这是来自 http://boto3.readthedocs.io/en/latest/reference/services/s3.html 的片段

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

关于python - Boto3 AWS S3 存储桶创建错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49665155/

相关文章:

python - 生成任意 2 列的所有二次组合

python - pandas 在 apply 函数内移动

linux - 删除所有附加卷后再次启动 Amazon EC2 实例

python - 声明式 SQLAlchemy 在内存表中创建 SQLITE

python - 使用其 API 和 Python 在 Google 表格电子表格中设置单元格格式

amazon-web-services - 如何将 S3 存储桶挂载到 StarCluster

tomcat - 无法通过 .ebextensions 文件更改 AWS 中的 tomcat 配置

javascript - AWS S3 : should I use POST or PUT requests to upload a file?

amazon-web-services - Cloudfront 使用签名 URL 获取 S3 对象的间歇性 403 CORS 错误(访问控制允许来源)

python - Amazon S3 使用内容类型 header 有何用途?