Boto无法遍历实例

时间:2012-06-06 10:40:54

标签: python boto

以下代码返回一个空列表:

instancelist = list()
instancelist = [x for x in conn.get_all_instances()]

for instance in instancelist:
       print instance.groups

在每种情况下,代码都不会进入for循环,请您提供有关原因的见解?

boto API应该从conn.get_all_instances返回所有预留对象的列表。 我能够从同一个连接对象中运行/终止实例。

2 个答案:

答案 0 :(得分:2)

你能尝试这样做吗?

>>> import boto
>>> boto.set_stream_logger('foo')
>>> conn = boto.connect_ec2(debug=2)
>>> conn.get_all_instances()

并查看打印到控制台的内容?这应该启用请求的完整调试日志记录和对EC2服务的响应,这样我们就可以确切地知道要求的内容和返回的内容。

答案 1 :(得分:0)

我是一个明确的Python新手,但我目前使用以下内容迭代所有实例并返回组列表:

import boto

conn = boto.connect_ec2()
all_instances = conn.get_all_instances()

for i in all_instances:
    print i
    for instance in i.instances:
        print instance.groups

我认为您可能遇到的问题是保留会作为一组实例返回。

正如我所说,我可能错了,但上述情况对我有用。