2016-11-17 59 views
1
from boto.s3.connection import S3Connection 

AWS_KEY = 'abc' 
AWS_SECRET = 'xyz' 

print AWS_KEY 
print AWS_SECRET 

aws_connection = S3Connection(AWS_KEY, AWS_SECRET) 

print aws_connection 


#Create the bucket in a specific region. 

bucket = aws_connection.create_bucket('mybucket0005',location='us-west-2') 

这段代码我运行创造桶;但得到以下错误,AWS S3文件来自Python的

Traceback (most recent call last): 

File "<ipython-input-63-f14efbf83dc6>", line 16, in <module> 
bucket = aws_connection.create_bucket('mybucket0005',location='us-west-2') 

File "/usr/local/lib/python2.7/dist-packages/boto/s3/connection.py", line 625, in create_bucket 
response.status, response.reason, body) 

S3ResponseError: S3ResponseError: 403 Forbidden 
<?xml version="1.0" encoding="UTF-8"?> 
<Error><Code>InvalidAccessKeyId</Code><Message>The AWS Access Key Id you  provided does not exist in our records.</Message> 
<AWSAccessKeyId>abc</AWSAccessKeyId><RequestId>930E9DC30F239D11</RequestId><HostId>xlaLEeS7C4KYgLOKOShF9uGhLgM+4OdFYiLGn7F5JvKty38kAir5vSNSDH7q5TWFPO/6BEjeHaA=</HostId></Error> 

我想从Python.Help访问AWS S3文件我出去。

回答

0

在这种情况下,该消息是相当明确的

The AWS Access Key Id you provided does not exist in our records. 

没有ABC关键。如果您有AWS账户,请转到IAM控制台并从那里获取密钥:http://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_access-keys.html

更好创建一个仅用于CLI的新用户。您需要确保此用户对您的s3存储区拥有权限(如果目标是管理该存储区)。创建用户后,您可以在脚本中使用create security credentials

另一点:不要直接在您的脚本中使用AWS KEY。 请检查Boto doc关于如何管理您的凭证并在脚本中使用它们。

+0

access_key = 'AKIAIOSFODNN7EXAMPLE' SECRET_KEY = 'wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY' 我用这一个only..still得到同样的错误。 –

+0

诚实地_EXAMPLE_在您的access_key中,我不是说它不会发生,但我真的怀疑,不要从网上的某个地方拿走它,将它从您的帐户中拿走 –

+0

现在我只从我的帐户使用正确的访问密钥。 现在它显示这个错误:(在创建桶) 加薪前 gaierror:[错误-2]产品名称或服务不知道 –