Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/amazon-s3/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Amazon s3 使用s3cmd sync时如何指定mime类型映射?_Amazon S3_S3cmd - Fatal编程技术网

Amazon s3 使用s3cmd sync时如何指定mime类型映射?

Amazon s3 使用s3cmd sync时如何指定mime类型映射?,amazon-s3,s3cmd,Amazon S3,S3cmd,我想将文件从Perforce中的某个位置同步到S3存储桶。我已经设置了一个Jenkins作业,它使用s3cmd将文件从Perforce同步到S3 我遇到的问题是,mime类型的自动检测没有像我希望的那样工作。是否有一种相对简单的方法可以用我自己的mime类型映射覆盖检测?假设我希望所有.xml.gz文件都是mime类型的application/x-gzip 我如何做到这一点,而不滚动我自己的s3cmd同步等价物?是否有一种方法可以使用s3cmd实现这一点,或者是否有另一种工具可以将文件夹同步到具

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

我遇到的问题是,mime类型的自动检测没有像我希望的那样工作。是否有一种相对简单的方法可以用我自己的mime类型映射覆盖检测?假设我希望所有
.xml.gz
文件都是mime类型的
application/x-gzip

我如何做到这一点,而不滚动我自己的s3cmd同步等价物?是否有一种方法可以使用s3cmd实现这一点,或者是否有另一种工具可以将文件夹同步到具有此功能的S3

编辑:

这不是我想要的,但是如果其他人有这个问题,它至少可以解决这个问题。我修改了
S3.py
,在下面的代码片段之后:

if not content_type: content_type = self.config.default_mime_type 如果不是内容类型: content\u type=self.config.default\u mime\u 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) #JUN-DAI破解了.gz mimetypes的错误。 #我找不到其他方法来实现这一点,因为mimetypes库去掉了“.gz”后缀,并在没有它的情况下确定底层文件的mimetype。 如果filename.endswith(“.gz”): content\u type=“应用程序/x-gzip” 打印“将{0}的内容类型设置为{1}”。格式(文件名,内容类型)
现在,您可以将选项
--无猜测mime类型--默认mime类型“application/x-gzip”
与s3cmd sync或put一起使用

这不是一个答案,但作为未来任何有此问题的人的注意事项:我最终对s3cmd代码进行了两行更改,以使其正常工作:-(我也在同一条船上。是否要共享更改?@#$@$!stackoverflow comments!我将其作为问题的编辑发布。