我想将文件从Perforce中的某个位置同步到S3存储桶。我已经设置了一个Jenkins作业,该作业使用s3cmd将文件从Perforce同步到S3。
我遇到的问题是mime类型的自动检测不能正常工作。是否有一种相对简单的方法来覆盖我自己的mime类型映射检测?假设我希望所有.xml.gz
个文件都是mime-typed application/x-gzip
。
如果不滚动我自己的s3cmd同步,我该怎么做?有没有办法用s3cmd做到这一点,还是有另一种工具可以将文件夹同步到具有此功能的S3?
修改
这不是我想要的,但如果其他人有问题,它至少可以解决问题。我修改了S3.py
并在看起来像这样的代码段之后:
if not content_type: content_type = self.config.default_mime_type
我补充说:
# JUN-DAI'S HACK TO GET .gz mimetypes correct. # I couldn't find another way to do this as the mimetypes library strips out the ".gz" suffix and determines the mimetype of the underlying file without it. if filename.endswith(".gz"): content_type = "application/x-gzip" print "Setting content-type of {0} to {1}".format(filename, content_type)
答案 0 :(得分:0)
现在,您可以将选项--no-guess-mime-type --default-mime-type "application/x-gzip"
与s3cmd sync或put一起使用。