繁体   English   中英

如何在不使用 AWS CLI 删除现有标签的情况下将标签添加到 S3 存储桶?

[英]How to add tags to an S3 Bucket without deleting the existing tags using AWS CLI?

我正在使用这个 function: aws s3api put-bucket-tagging --bucket $bucket --tagging 'TagSet=[{Key=ss,Value=mm}]

它正在删除现有标签,我只能看到一个标签。

这就是 API 的工作方式,是的 - 这就是 PUT API 通常的工作方式,POST API 可能 append 一个新标签或添加一个新属性等,但 PUT API 会覆盖。

尽管您需要检索所有标签,但要使其正常工作,将它们与新标签组合,然后一次放置所有标签。 您可以使用例如jq轻松做到这一点:

# assuming there are already tags otherwise the get-bucket-tagging fails
data=$(aws s3api get-bucket-tagging --bucket $bucket | jq '.TagSet += [{"Key":"tag2", "Value": "value2"}]')
aws s3api put-bucket-tagging --bucket $bucket --tagging "$data"
aws s3api get-bucket-tagging --bucket $bucket # should print the merged tags

(更新:为“$data”添加了引号,因为没有引号它就无法工作。)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM