我需要一个带有特定前缀的 s3 存储桶中所有对象的完整列表。我尝试使用前面提到的解决方案使用 boto和 knox-copy ,但是,我的存储桶以域命名(例如:cdn.mycompany.com),我从 boto 返回以下错误
ssl.CertificateError: hostname 'cdn.mycompany.com.s3.amazonaws.com' doesn't match either of '*.s3.amazonaws.com', 's3.amazonaws.com'
我从 knox-copy 返回了类似的错误。如果我使用不带句点的存储桶名称,两者都可以正常工作。有解决办法吗?
最佳答案
我使用 python 2.7.9 和 2.7.10 时会遇到这种情况。 我找到了 2 个解决方法。
将 python 版本更改为 2.7.8
或
在 ~/.boto 文件中添加(如果没有则创建)
[s3]
calling_format = boto.s3.connection.OrdinaryCallingFormat
S3Connection.DefaultHost = ‘s3-ap-northeast-1.amazonaws.com’
关于python - 列出以子域命名的存储桶上的所有 S3 对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28017694/