在Amazon AWS中使用python中的boto创建S3 bucket失败。。。

在Amazon AWS中使用python中的boto创建S3 bucket失败。。。,python,amazon-web-services,amazon-s3,amazon,boto,Python,Amazon Web Services,Amazon S3,Amazon,Boto,我得到了这个错误: import boto import boto.s3 import boto.s3.connection conn = boto.s3.connect_to_region( 'us-west-2', aws_access_key_id='MY_KEY', aws_secret_access_key='MY_ACCESS_KEY' ) conn.create_bucket('bucket_in_west') 有人知道如何使用boto在特定区域创建S3 bucket吗?

我得到了这个错误:

import boto
import boto.s3
import boto.s3.connection

conn = boto.s3.connect_to_region(
'us-west-2', 
aws_access_key_id='MY_KEY', 
aws_secret_access_key='MY_ACCESS_KEY'
)

conn.create_bucket('bucket_in_west')

有人知道如何使用boto在特定区域创建S3 bucket吗?

如果您正在与
us-west-2
端点通话,并且希望在该区域创建bucket,则在调用
create_bucket
时必须指定:

Traceback (most recent call last):
  File "<input>", line 1, in <module>
  File "/Users/user/.virtualenvs/west-tests/lib/python2.7/site-packages/boto/s3/connection.py", line 621, in create_bucket
    response.status, response.reason, body)
S3ResponseError: S3ResponseError: 400 Bad Request
<?xml version="1.0" encoding="UTF-8"?>
<Error><Code>IllegalLocationConstraintException</Code><Message>The unspecified location constraint is incompatible for the region specific endpoint this request was sent to.</Message><RequestId>0C0F09FBC87

这是否也适用于法兰克福地区?(此区域的不同身份验证握手版本-不知道为什么)是的,它适用于任何区域。如果希望bucket位于该区域,则应连接到该区域的S3端点,然后在
create_bucket
location
参数中指定该区域。您好,Mitch,谢谢您的评论。像往常一样很有帮助。但有一件事需要注意。。。当连接到特定于区域的S3服务时,无法创建名称中包含“\u”/下划线的bucket。。。
conn.create_bucket('bucket-in-west', location='us-west-2')