python - 列出以子域命名的存储桶上的所有 S3 对象

标签 python amazon-web-services amazon-s3 boto knox-amazon-s3-client

我需要一个带有特定前缀的 s3 存储桶中所有对象的完整列表。我尝试使用前面提到的解决方案使用 botoknox-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/

相关文章:

amazon-web-services - Cloudflare 与使用 AWS 证书的 AWS ELB

amazon-web-services - 有没有一种方法可以从 CloudFormation 在一个 Amazon RDS 数据库实例中创建多个数据库

javascript - 如何循环获取 Amazon S3 对象?

amazon-s3 - React Js 应用程序可以托管在 S3 存储桶上吗

python - 在 groupby 之后在 pandas DataFrame 的列表变量中创建一个列表

hosting - 是否可以使用AWS作为网络主机?

python - 按字典嵌套值排序

android - 如何在 Android 的 AWS Amplify 中指定存储路径。?

python - 如何在 django 表单中设置自定义 HTML 属性?

python - 从数据库中检索更新的表 - MySQLdb