![](/img/trans.png)
[英]Can we copy the files and folders recursively between aws s3 buckets using boto3 Python?
[英]Can't connect to S3 buckets with periods in their name, when using Boto on Heroku
嘗試使用Boto連接到我們的S3存儲桶時,我們收到了證書錯誤。 奇怪的是,這只會在訪問一個名為WHILE的句點時使用Heroku運行時顯示出來。
from boto.s3.connection import S3Connection
conn = S3Connection({our_s3_key}, {our_s3_secret})
bucket = conn.get_bucket('ourcompany.images')
引發以下錯誤:
CertificateError:主機名'ourcompany.images.s3.amazonaws.com'與'* .s3.amazonaws.com','s3.amazonaws.com'不匹配
但是相同的代碼在本地運行時工作正常,如果存儲桶名稱是'ourcompany-images'而不是'ourcompany.images',它也適用於Heroku
根據相關的github問題 ,將其添加到配置中:
[s3]
calling_format = boto.s3.connection.OrdinaryCallingFormat
或者,在實例化calling_format
時指定S3Connection
:
from boto.s3.connection import OrdinaryCallingFormat
conn = S3Connection(access_key, secret_key, calling_format=OrdinaryCallingFormat())
由於使用了不同的python版本,代碼很可能在本地為你工作並且在heroku上不起作用。 我懷疑你在heroku上使用2.7.9
運行時,它已經為stdlib http客戶端啟用了證書檢查 。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.