在AWS中获取实例的公共ip

时间:2015-08-12 09:43:47

标签: python amazon-web-services boto boto3

我正在尝试获取所有正在运行的实例的公共IP地址。 我使用的是boto3和python版本2.7.6。

>>> instances = ec2.instances.filter(
    ...     Filters=[{'Name': 'instance-state-name', 'Values': ['running']}])
>>> for instance in instances:
...     print(instance.public_ip_address,instance.platform,instance.public_dns_name);

它列出了所有实例以及未分配公共IP地址的实例。

(None, None, '')

有没有办法在使用ec2.instances.filter填充实例时过滤掉那些没有公共IP的实例?

1 个答案:

答案 0 :(得分:1)

filter(lambda x:x[0] is not None, instances)