You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

通过AWS CLI上传S3对象时添加多个标签的正确语法是什么

错误原因

报错是因为你传入的--tagging参数不符合S3接口规范:

  • 多个标签需按照URL查询参数格式拼接,标签之间用&分隔,不能使用逗号
  • 你在分隔符后添加了多余空格,也不符合编码要求

正确语法

方案1:直接拼接标签键值对

多个标签用&分隔,整体放在双引号内,避免Shell将&识别为后台执行指令,标签间不要加多余空格:

aws s3api put-object --bucket mybucket --key something/obj.txt --body obj.txt --tagging "mykeyname1=myvalue1&mykeyname2=myvalue2"

如果标签的键或值包含特殊字符(空格、&、=、非ASCII字符等),需要先做URL编码,例如值为测试值 2要转写为%E6%B5%8B%E8%AF%95%E5%80%BC%202。

方案2:通过JSON结构传参(兼容性更强)

如果标签数量多或者包含特殊字符,推荐用JSON格式传参,无需手动做URL编码:

aws s3api put-object --bucket mybucket --key something/obj.txt --body obj.txt --tagging '{"TagSet": [{"Key": "mykeyname1", "Value": "myvalue1"}, {"Key": "mykeyname2", "Value": "myvalue2"}]}'

标签量很大的话也可以把配置存在本地JSON文件中调用,示例:

  1. 新建tags.json文件,内容如下:
{
  "TagSet": [
    {
      "Key": "mykeyname1",
      "Value": "myvalue1"
    },
    {
      "Key": "mykeyname2",
      "Value": "myvalue2"
    }
  ]
}
  1. 执行命令:
aws s3api put-object --bucket mybucket --key something/obj.txt --body obj.txt --tagging file://tags.json

内容的提问来源于stack exchange,提问作者Ryan

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.02 13:18:02