以下代码按预期工作。我知道预订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。
答案 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
来请求单个实例。