amazon-web-services - AWS cli s3api put-bucket-tagging - 除非存储桶有 0 个标签,否则无法将标签添加到存储桶

标签 amazon-web-services tagging

由于 s3 没有 create-tag,因此只能使用 put-bucket-tagging,这要求您包含资源上的所有标签,而不仅仅是新标签。因此,除非您包含所有现有标签以及新标签,否则无法将新标签添加到已有标签的存储桶中。这使得批量操作变得更加困难,因为您需要首先获取所有标签,将其推断为 json,编辑 json 以将新标签添加到每个存储桶,然后将其提供给 put-bucket-tagging。

有人有更好的方法来做到这一点或者有一个脚本可以做到这一点吗?

我正在尝试的命令: aws s3api put-bucket-tagging --bucket cbe-res034-scratch-29 --tagging "TagSet=[{Key=Environment,Value=Research}]"

我得到的错误: 调用PutBucketTagging操作时发生错误(InvalidTag):请求者无法删除系统标签

我收到“无法删除”错误,因为 put-bucket-tagging 正在尝试删除此存储桶上的其他 10 个标签(因为我没有将它们包含在 TagSet 中),并且我无权执行以下操作所以。

最佳答案

您可以使用resourcegroupstaggingapi来实现您期望的结果,请参见下面。

aws resourcegroupstaggingapi tag-resources --resource-arn-list arn:aws:s3:::cbe-res034-scratch-29 --tags Environment=Research

要处理标签名称或值上的空格,请将其用作 json。

aws resourcegroupstaggingapi tag-resources --resource-arn-list arn:aws:s3:::cbe-res034-scratch-29 --tags '{"Environment Name":"Research Area"}'

关于amazon-web-services - AWS cli s3api put-bucket-tagging - 除非存储桶有 0 个标签,否则无法将标签添加到存储桶,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60726450/

相关文章:

amazon-web-services - AWS EB CLI 3.x 工具需要哪些文件?

amazon-web-services - 读取保存到 SES 中 s3 存储桶的传入电子邮件

mysql - 更新 MySQL 中的标签映射表

nlp - 基于转换的词性标注(Brill Tagging)

rest - 如何使用针对多个微服务的REST API测试来对测试框架进行版本控制/标记?

amazon-web-services - 在 AWS Cloudwatch 上为 Lambda 启用 Paho MQTT 客户端日志

ruby-on-rails - 将 docker 与 RDS (Prod) 一起使用,但对本地数据库设置 (dev) 感到困惑

amazon-web-services - 如何在kibana的索引中正确嵌套映射?

mysql - 用于标记多个源的数据库设计(MySQL)

tagging - 在RethinkDB中使用多标签索引,如何获取匹配多个标签的项目?