【发布时间】:2016-11-05 04:08:48
【问题描述】:
在 Python 中使用 boto,如何找到给定 IP 地址的 boto.ec2 实例对象?
【问题讨论】:
标签: python amazon-ec2 boto
在 Python 中使用 boto,如何找到给定 IP 地址的 boto.ec2 实例对象?
【问题讨论】:
标签: python amazon-ec2 boto
通过boto documentation 挖掘,我找到了get_only_instances 方法,您可以使用它来获取所有实例。您可以将过滤器字典传递给它,以按 IP 地址过滤(我在 Filter.N 标题下的 EC2 API Reference 中找到了它。
例如,要获取 IP 为 1.1.1.1 的实例,您可以:
filters = {"ip-address": "1.1.1.1"}
result_list = conn.get_only_instances(filters=filters)
那么result_list[0] 应该是具有该 IP 地址的实例的实例对象。
【讨论】:
only_running_filter = {"instance-state-name": "running"} 过滤器来简化我们在两类服务器之间的转换。
ec2 = boto3.client('ec2')
filters = [{
'Name': 'ip-address',
'Values': ['1.1.1.1'],
}]
result_list = ec2.describe_instances(Filters=filters)
【讨论】: