2016-11-17 4 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') 

이 코드 내가 버킷을 만들기위한 실행하고부터, 나는 Python.Help에서 저를 AWS S3 파일을 액세스 할 AWS S3 파일 파이썬

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> 

하지만 오류 아래 점점

.

답변

0

이 경우 메시지가 더 ABC 키가 없습니다

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

매우 명시 적이다. AWS 계정이있는 경우 IAM 콘솔로 이동하여 여기에서 키를 가져옵니다. http://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_access-keys.html

CLI에만 사용되는 새 사용자를 만드는 것이 더 좋습니다. 이 사용자가 s3 버킷에 대한 권한을 가지도록해야합니다 (목표가 관리하려는 경우). 사용자가 생성되면 스크립트에서 사용할 수있는 create security credentials을 생성합니다.

다른 요점 : 스크립트에 AWS 키를 직접 노출하지 마십시오. 자격 증명을 관리하고 스크립트에서 사용하는 방법에 대해서는 Boto doc을 확인하십시오.

+0

access_key = 내가 같은 오류가 only..still이 하나를 사용하고 'AKIAIOSFODNN7EXAMPLE' SECRET_KEY = 'wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY' . –

+0

정직하게 _EXAMPLE_ 귀하의 access_key에, 나는 일어날 수 없다는 말은 아니지만 정말 의심, 그물 어딘가에서 가져 가려하지 말고, 귀하의 계정에서 가져가 –

+0

이제 내 계정에서만 올바른 액세스 키를 사용하고 있습니다. 는 이제이 오류를 보여주는 : 인상 전 gaierror (버킷 작성하는 동안) : errno를 -2] 이름이나 서비스가 알려져 있지 –