获取 AWS 实例的 public 个 ip

get public ip of instances in AWS

我正在尝试获取所有 运行 实例的 public 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);

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

(None, None, '')

在使用 ec2.instances.filter 填充实例时,有什么方法可以过滤掉那些没有 public ip 的实例吗?

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