gpt4 book ai didi

amazon-s3 - 如何使用aws cli更改对象的内容类型?

转载 作者:行者123 更新时间:2023-12-03 22:32:54 25 4
gpt4 key购买 nike

我在Amazon S3中存储了几个对象,我需要将其内容类型从text/html更改为application/rss+xml。我认为使用复制命令可以做到这一点,并为源和目标指定相同的路径。我正在尝试使用AWS cli工具执行此操作,但出现此错误:

$ aws s3 cp s3://mybucket/feed/ogg/index.html \
s3://mybucket/feed/ogg/index.html \
--content-type 'application/rss+xml'
copy failed: s3://mybucket/feed/ogg/index.html
to s3://mybucket/feed/ogg/index.html
A client error (InvalidRequest) occurred when calling the
CopyObject operation: This copy request is illegal because it is
trying to copy an object to itself without changing the object's
metadata, storage class, website redirect location or encryption
attributes.


如果我为源和目标指定了其他路径,则不会收到错误消息:

$ aws s3 cp s3://mybucket/feed/ogg/index.html \
s3://mybucket/feed/ogg/index2.html \
--content-type 'application/rss+xml'
copy: s3://mybucket/feed/ogg/index.html
to s3://mybucket/feed/ogg/index2.html


即使命令成功完成,也会使用 index2.html内容类型而不是我指定的 text/html类型创建 application/rss+xml对象。

如何修改此命令行以使其正常工作?

最佳答案

可以使用较低级别的s3api进行此更改:

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


http://docs.aws.amazon.com/cli/latest/reference/s3api/copy-object.html

问题只是无法指定 --metadata-directive。感谢您指出 open issue / feature request,纳尔斯特罗姆!

关于amazon-s3 - 如何使用aws cli更改对象的内容类型?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23548256/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com