我在使用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" } ] } ]