如何在列表中查找键值对的序列号

时间:2013-09-26 04:42:39

标签: python boto

以下代码按预期工作。我知道预订ID 50b4f837 ,我可以找到与该预订相关的实例。

>>> reservations = conn.get_all_instances()
>>> reservations
[Reservation:r-cded15ae, Reservation:r-50b4f837]

>>> instances = reservations[1].instances
>>> instances
[Instance:i-5ffecc27]

问题是我需要以编程方式查找实例而不返回所有预留,然后手动调用特定密钥(在本例中为1)。

我将提供预订ID,它应该返回实例ID。

1 个答案:

答案 0 :(得分:1)

如果您知道预订ID,并且所有预订都是针对单个实例的,那么您可以这样做:

import boto.ec2

ec2 = boto.ec2.connect_to_region('us-west-2')
instance = get_all_instances(filters={'reservation-id': 'r-50b4f837'})[0].instances[0]

同样,只有当您的预订始终包含单个实例时才会有效(即您只需要run_instances来请求单个实例。