【问题标题】:How to specify mime-type mappings when using s3cmd sync?使用 s3cmd 同步时如何指定 mime 类型映射?
【发布时间】: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之后看起来像这样:

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

我补充说:

# JUN-DAI 获得正确的 .gz mimetypes 的技巧。 # 我找不到另一种方法来执行此操作,因为 mimetypes 库会去掉“.gz”后缀并确定没有它的基础文件的 mimetype。 如果文件名.endswith(".gz"): content_type = "应用程序/x-gzip" print "将 {0} 的内容类型设置为 {1}".format(filename, content_type)

【问题讨论】:

  • 不是一个答案,但作为任何未来有此问题的人的说明:我最终对 s3cmd 代码进行了两行更改以使其正常工作:-(
  • 我在同一条船上。愿意分享更改吗?
  • @#$@$! stackoverflow cmets!我会将其发布为对我的问题的编辑。

标签: amazon-s3 s3cmd


【解决方案1】:

现在您可以将选项 --no-guess-mime-type --default-mime-type "application/x-gzip" 与 s3cmd sync 或 put 一起使用。

【讨论】:

    猜你喜欢
    • 2013-11-26
    • 2012-01-09
    • 2011-04-25
    • 1970-01-01
    • 2017-12-26
    • 1970-01-01
    • 1970-01-01
    • 2017-07-04
    • 1970-01-01
    相关资源
    最近更新 更多