python – 使用Boto 3显示EC2实例名称

我不确定如何使用boto3在AWS EC2中显示我的实例的名称

这是我的一些代码:

import boto3

ec2 = boto3.resource('ec2', region_name='us-west-2')
vpc = ec2.Vpc("vpc-21c15555")
for i in vpc.instances.all():
    print(i)

我得到的回报是

...
...
...
ec2.Instance(id='i-d77ed20c')

python  – 使用Boto 3显示EC2实例名称

我可以改变我是i.id或i.instance_type但是当我尝试名字时,我得到:

AttributeError:’ec2.Instance’对象没有属性’name’

获取实例名称的正确方法是什么?

解决方法:

可能还有其他方式.但是从代码的角度来看,以下内容应该可行.

>>> for i in vpc.instances.all():
...   for tag in i.tags:
...     if tag['Key'] == 'Name':
...       print tag['Value']

如果你想使用Python强大的列表理解,一个线性解决方案:

inst_names = [tag['Value'] for i in vpc.instances.all() for tag in i.tags if tag['Key'] == 'Name']
print inst_names
上一篇:如何使用python boto3将s3对象从一个桶复制到另一个桶


下一篇:python – Boto3 / S3:使用copy_object重命名对象