amazon-s3 - 使用 s3cmd 同步时如何指定 MIME 类型映射?

标签 amazon-s3 s3cmd

我想将文件从 Perforce 中的某个位置同步到 S3 存储桶。我已经设置了一个 Jenkins 作业,它使用 s3cmd 将文件从 Perforce 同步到 S3。

我遇到的问题是,mime 类型的自动检测没有按照我的意愿工作。是否有一种相对简单的方法可以使用我自己的 MIME 类型映射覆盖检测?假设我想要所有 .xml.gz要以 MIME 类型输入的文件 application/x-gzip .

如何在不滚动我自己的 s3cmd 同步的情况下执行此操作?有没有办法用 s3cmd 做到这一点,或者是否有另一种工具可以将文件夹同步到具有此功能的 S3?

编辑:

这不是我要找的,但如果其他人有问题,它至少可以解决问题。我修改了 S3.py在看起来像这样的片段之后:

如果不是 content_type:
content_type = self.config.default_mime_type

我补充说:

# JUN-DAI 的 HACK 使 .gz mimetypes 正确。
# 我找不到其他方法来做到这一点,因为 mimetypes 库去掉了“.gz”后缀,并在没有它的情况下确定了底层文件的 mimetype。
if filename.endswith(".gz"):
content_type = "应用程序/x-gzip"
打印“将 {0} 的内容类型设置为 {1}”.format(filename, content_type)

最佳答案

现在您可以使用选项 --no-guess-mime-type --default-mime-type "application/x-gzip"与 s3cmd 同步或放置。

关于amazon-s3 - 使用 s3cmd 同步时如何指定 MIME 类型映射?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20284531/

相关文章:

php - AWS S3 CopyObject 版本

amazon-web-services - AWS - 从/向 AWS 存储传输和检索大规模数据的最佳方式

ruby - 如何在 Ruby 中执行相当于 's3cmd setacl --acl-grant=read:82b82d.. s3://somebucket/..' 的操作?

python - 通过 Python 运行 AWS CLI 返回 "sh: 1: aws: not found"错误

amazon-s3 - S3 在不同帐户的存储桶之间移动文件?

python-2.7 - 使用boto3将文件上传到S3存储桶中的特定文件夹

command-line - 尝试安装 AWS CLI,卡在一个步骤上

csv - 如何处理 .csv 输入以在 Tensorflow Serving 批量转换中使用?

amazon-web-services - 从 S3 存储桶下载模式匹配条目

python - s3cmd 与 python 中的 boto 同步