下面是一些简单的代码。什么应该拉钥匙:名牌。但是当我添加第二个标签时,它似乎改变了顺序,所以0并不总是名称???
instances = ec2.instances.filter(Filters=[{'Name':'instance-state-name','Values':['running']}])
for instance in instances:
for tag in instance.tags:
if 'Name'in tag['Key']:
name = tag['Value']
print "Pulling all instance info..."
for instance in instances:
print(instance.id, instance.instance_type,instance.private_ip_address, instance.tags[0].get("Value"))
答案 0 :(得分:1)
是。 instance.tags
是一个列表,您的标记可以显示在列表中的任何位置。如果您尝试获取“名称”,则必须遍历列表。列表中的每个元素都是字典。在获取值之前检查密钥是否为“Name”。
听起来很复杂,但编码非常简单。你不能盲目地做instance.tags[0].get("Value")