ec2 标签号会改变吗?

Do ec2 tag numbers change?

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

是的。 instance.tags 是一个列表,您的标签可以出现在列表中的任何位置。如果你想得到 'Name',你必须遍历列表。列表中的每个元素都是一个字典。在获取值之前检查密钥是否为'Name'。

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