更改已上传到 AWS S3 存储桶的多个文件的默认内容类型

Change the default content type on multiple files that have been uploaded to a AWS S3 bucket

我使用 aws-cli 将 5gb 的文件上传到我制作静态网站的 Amazon S3 存储桶中。网站引用的一些文件是 .shtml 文件,但 S3 默认的元数据内容类型为 binary/octet-stream,但我希望这些文件的元数据内容类型为 text/html。否则它在浏览器中不起作用。

是否有 aws-cli s3api 命令可用于更改所有扩展名为 .shtml 的文件的内容类型?

要修改 Amazon S3 对象上的元数据,将对象复制到自身并指定元数据。

来自 Whosebug:How can I change the content-type of an object using aws cli?

$ aws s3api copy-object --bucket archive --content-type "application/rss+xml" \
    --copy-source archive/test/test.html --key test/test.html \
    --metadata-directive "REPLACE"

您可以设置特定文件类型的内容类型,如下所示。

"aws s3 sync ${BASE_DIR} s3://${BUCKET_NAME} --exclude *.shtml"
"aws s3 sync ${BASE_DIR} s3://${BUCKET_NAME} --exclude '*' --include '*.shtml' --no-guess-mime-type --content-type text/html"