2016-11-17 96 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]產品名稱或服務不知道 –