如何使用 AWS CLI 将标签添加到 S3 存储桶而不删除现有标签?

问题描述 投票:0回答:1

我正在使用这个功能:

aws s3api put-bucket-tagging --bucket $bucket --tagging 'TagSet=[{Key=ss,Value=mm}]

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

amazon-web-services amazon-s3 aws-cli
1个回答
8
投票

这就是 API 的工作方式,是的 - 这就是 PUT API 一般的工作方式,POST API 可能会附加新标签或添加新属性等,但 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
© www.soinside.com 2019 - 2024. All rights reserved.