15

我在亚马逊 S3 上有一个后缀为“.bin.gz”的文件。我希望网络浏览器将其视为压缩的 HTML 文件。因此,我可以进入 Amazon S3 Web 控制台 (https://console.aws.amazon.com/s3/home) 并导航到该文件并选择它。在那里,在属性下,我可以转到元数据选项卡并添加以下指令:

Content-Type: text/html
Content-Encoding: gzip

这按预期工作。那是容易的部分。

现在,我想在将数百个(或可能数百万个)文件放在 S3 上时对它们做同样的事情。

我曾尝试将 s3cmd 与该--add-header选项一起使用,但是当我尝试设置 Content-Type 时,这给了我一个签名错误。此外,我很确定这样做只会影响在 PUT 操作时发送的标头,而不是与文档一起存储的元数据。

所以,我正在寻找一种方法来做到这一点,最好是使用 s3cmd。如果这是不可能的,如果有人可以建议一个能够将元数据应用于 s3 上的文件的 python 库,我将不胜感激。

必须有一种方法可以做到这一点,而无需在控制台中手动设置。

4

1 回答 1

23

用于-m设置 MIME 类型(将Content-Type在后续请求中作为标头发送:

s3cmd -m text/html --add-header='Content-Encoding: gzip' put [files] s3://...
于 2012-06-08T02:06:18.810 回答