我想将文件从 Perforce 中的某个位置同步到 S3 存储桶。我已经设置了一个 Jenkins 作业,它使用 s3cmd 将文件从 Perforce 同步到 S3。
我遇到的问题是哑剧类型的自动检测没有按照我想要的方式工作。是否有一种相对简单的方法可以使用我自己的 mime 类型映射来覆盖检测?假设我希望所有.xml.gz文件都被 mime 类型化为application/x-gzip.
如何在不滚动我自己的 s3cmd 同步功能的情况下执行此操作?有没有办法使用 s3cmd 执行此操作,或者是否有其他工具可以将文件夹同步到具有此功能的 S3?
编辑:
这不是我想要的,但如果其他人遇到问题,它至少可以解决这个问题。我修改S3.py后的代码片段如下所示:
如果不是内容类型:
content_type = self.config.default_mime_type
我补充道:
# JUN-DAI 的技巧使 .gz mimetypes 正确。
# 我找不到其他方法来执行此操作,因为 mimetypes 库会去掉“.gz”后缀并在没有它的情况下确定基础文件的 mimetype。
if filename.endswith(".gz"):
content_type =“应用程序/x-gzip”
print "将 {0} 的内容类型设置为 {1}".format(filename, content_type)