尝试使用s3cmd在Amazon S3文件上设置元数据

cha*_*imp 15 amazon-s3 amazon-web-services s3cmd

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

Content-Type: text/html
Content-Encoding: gzip
Run Code Online (Sandbox Code Playgroud)

这按预期工作.这很容易.

现在,我想在S3上进行PUT时对数百个(或可能是数百万个)文件做同样的事情.

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

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

必须有一种方法可以执行此操作,而无需在控制台中手动设置它.

Pau*_*aul 22

使用-m用于设置MIME类型(其将作为要发送Content-Type的后续请求报头:

s3cmd -m text/html --add-header='Content-Encoding: gzip' put [files] s3://...
Run Code Online (Sandbox Code Playgroud)