ec2标签号码会改变吗?

时间:2016-08-25 23:46:55

标签: python amazon-web-services amazon-ec2 boto3

下面是一些简单的代码。什么应该拉钥匙:名牌。但是当我添加第二个标签时,它似乎改变了顺序,所以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"))

1 个答案:

答案 0 :(得分:1)

是。 instance.tags是一个列表,您的标记可以显示在列表中的任何位置。如果您尝试获取“名称”,则必须遍历列表。列表中的每个元素都是字典。在获取值之前检查密钥是否为“Name”。

听起来很复杂,但编码非常简单。你不能盲目地做instance.tags[0].get("Value")