2016-11-21 57 views
0

我想使用boto(ver 2.43.0)Python連接到S3失敗的錯誤,但我不斷收到`socket.gaierror:[錯誤11004]當我嘗試這樣做:errno的11004的getaddrinfo在連接到Amazon S3存儲

from boto.s3.connection import S3Connection 

access_key = 'accesskey_here' 
secret_key = 'secretkey_here' 
conn = S3Connection(access_key, secret_key) 
mybucket = conn.get_bucket('s3://diap.prod.us-east-1.mybucket/') 
print("success!") 

我可以使用AWS CLI通過在Windows中使用這樣的命令連接和訪問文件夾mybucket

> aws s3 ls s3://diap.prod.us-east-1.mybucket/ 
<list of folders in mybucket will be here> 

或使用軟件,如莓或S3Browser。

有什麼,我做錯了這裏訪問S3存儲和文件夾是否正確?感謝先進的答案!

回答

1

get_bucket()預期值區名稱。

get_bucket(bucket_name, validate=True, headers=None) 

嘗試:

mybucket = conn.get_bucket('mybucket') 

如果它不工作,顯示完整的堆棧跟蹤。

{更新]:boto庫中有一個存在桶點名稱的bug。更新您的博託配置

[s3] 
calling_format = boto.s3.connection.OrdinaryCallingFormat 

或者

from boto.s3.connection import S3Connection, OrdinaryCallingFormat 

conn = S3Connection(access_key, secret_key, calling_format=OrdinaryCallingFormat()) 
+0

感謝你的建議。當我輸入像這樣的桶名稱: >>> mybucket = conn.get_bucket('diap.prod.us-east-1.mybucket') 我得到以下錯誤: 回溯(最近一次調用最後一次): 文件「」,第1行,在 .... 文件「C:\ Users \ phyo.thiha \ AppData \ Local \ Programs \ Python \ Python35-32 \ lib \ ssl.py」,第296行,在match_hostname %(主機名, ''。加入(地圖(再版,dnsnames)))) ssl.CertificateError:主機名 'diap.prod.us-east-1.target.s3.amazonaws.com' 不匹配'* .s3.amazonaws.com','s3.amazonaws.com' – user1330974

+0

我很抱歉。您的存儲桶名稱中包含「us-east-1」? – helloV

+0

是...我能夠用這個名字,'diap.prod.us - 東 - 1.mybucket',登錄和使用AWS CLI或莓... – user1330974

相關問題