多个TagSet节点在AWS CLI中不起作用

时间:2019-01-14 09:09:57

标签: json amazon-web-services amazon-s3 tags aws-cli

根据SetMenuItemBitmaps(MSDN)文档,我能够执行以下命令

aws s3api put-bucket-tagging --bucket my-bucket --tagging file://tagging.json

带有 tagging.json 文件(案例1)

{
   "TagSet": [
     {
       "Key": "organization",
       "Value": "marketing"
     }
   ]
}

假设我的 tagging.json 文件包含多个 TagSet 节点,例如(案例2)

{  
   "TagSet":[  
      {  
         "Key":"organization",
         "Value":"marketing"
      }
   ],
   "TagSet":[  
      {  
         "Key":"test",
         "Value":"market"
      }
   ]
}

在这种情况下,aws仅解析第一个 TagSet 节点,这与情况1 相似。所以问题是

  1. 如何解析多个 TagSet 节点或使用s3测试此类请求。
  2. 如果请求正文中有多个 TagSet 节点,则s3行为是什么?像
<Tagging>
  <TagSet>
     <Tag>
       <Key>Tag Name</Key>
       <Value>Tag Value</Value>
     </Tag>
  </TagSet>
  <TagSet>
     <Tag>
       <Key>Tag Name2</Key>
       <Value>Tag Value2</Value>
     </Tag>
  </TagSet>
</Tagging>

1 个答案:

答案 0 :(得分:1)

要回答有关多个TagSet节点的问题,我认为文件的语法必须像这样:

{  
   "TagSet":[  
      {  
         "Key":"organization",
         "Value":"marketing"
      },
      {  
         "Key":"test",
         "Value":"market"
      }
   ]
}

TagSet必须是包含键/值标签列表的单个键,以便AWS可以正确解析它们,JSON结构中具有多个TagSet键看起来像AWS接受第一个,然后丢弃任何内容。