在python awscli中调用run-instance JSON时不会应用名称实例标记

我在使用AWS CLI工具时遇到了一个奇怪的问题(awscli python module awscli-1.11.136,awscli-1.11.177)。 当使用–cli-input-json参数调用“run-instances”操作时,实例不是使用我在调用中指定的名称标记来标记的。 调用示例: aws ec2 run-instances --cli-input-json file://test-1c.json

test-1c.json包含以下TagSpecifications

 "TagSpecifications": [ { "ResourceType": "instance", "Tags": [ { "Key": "Name", "Value": "test-1c" } ], "ResourceType": "volume", "Tags": [ { "Key": "Name", "Value": "test-1c" } ] } ] 

卷使用指定的名称标签正确标记,但实例不是。

当使用命令行参数调用它时,它可以正常工作:

 aws ec2 run-instances \ --image-id ami-123456 \ --instance-type t2.micro \ --placement AvailabilityZone=eu-central-1b \ --security-group-ids sg-123456 \ --subnet-id subnet-123456 \ --private-ip-address 172.31.0.1 \ --tag-specifications 'ResourceType=instance,Tags=[{Key=Name,Value=test-1c}]' 'ResourceType=volume,Tags=[{Key=name,Value=test-1c}]'{code} 

在JSON的运行实例awscli python模块function是否有错误,或者我做错了什么?

提前感谢任何帮助!

您的JSON结构存在问题。

您的TagSpecifications数组中只有一个标签对象。 一个对象有2个ResourceType和2个Tags属性,其中第二个(对于音量)重写第一个(对于实例)。 这是失败的原因。

"ResourceType": "volume",之前添加缺less的},{到你的结构中"ResourceType": "volume",

 "TagSpecifications": [ { "ResourceType": "instance", "Tags": [ { "Key": "Name", "Value": "test-1c" } ], }, { "ResourceType": "volume", "Tags": [ { "Key": "Name", "Value": "test-1c" } ] } ]