【发布时间】:2013-11-29 11:19:05
【问题描述】:
我想将文件从 Perforce 中的某个位置同步到 S3 存储桶。我设置了一个使用 s3cmd 将文件从 Perforce 同步到 S3 的 Jenkins 作业。
我遇到的问题是 mime 类型的自动检测没有按我的意愿工作。有没有一种相对简单的方法可以用我自己的 mime 类型映射覆盖检测?假设我希望所有.xml.gz 文件都被mime 类型为application/x-gzip。
如何在不滚动我自己的等效 s3cmd 同步的情况下做到这一点?有没有办法用 s3cmd 做到这一点,或者是否有其他工具可以很好地将文件夹同步到具有此功能的 S3?
编辑:
这不是我想要的,但如果其他人有问题,它至少可以解决问题。我修改了S3.py,在sn-p之后看起来像这样:
我补充说:
# JUN-DAI 获得正确的 .gz mimetypes 的技巧。 # 我找不到另一种方法来执行此操作,因为 mimetypes 库会去掉“.gz”后缀并确定没有它的基础文件的 mimetype。 如果文件名.endswith(".gz"): content_type = "应用程序/x-gzip" print "将 {0} 的内容类型设置为 {1}".format(filename, content_type)【问题讨论】:
-
不是一个答案,但作为任何未来有此问题的人的说明:我最终对 s3cmd 代码进行了两行更改以使其正常工作:-(
-
我在同一条船上。愿意分享更改吗?
-
@#$@$! stackoverflow cmets!我会将其发布为对我的问题的编辑。