您好,并提前感谢任何帮助...
我正在尝试使用boto检索帐户中所有Autoscaling组的列表。我有164个自动缩放组,但是boto脚本只是以与控制台类似的方式检索前50个。
#!/usr/bin/python
from boto.ec2.autoscale import AutoScaleConnection
conn = AutoScaleConnection('ABCDEFGHIJKLMNOPQRS', 'TUVWXYZ/ABCDEFGHIJKLMN')
agroups = conn.get_all_groups()
print agroups
关于如何提取AS组的整个列表的任何想法?
答案 0 :(得分:2)
Boto不会像对待许多其他调用那样自动处理DescribeAutoScalingGroups
API调用的结果分页。所以你必须自己处理分页。
import boto.ec2.autoscale
c = boto.ec2.autoscale.connect_to_region('us-east-1') # or whatever region you want
all_groups = []
rs = c.get_all_groups()
all_groups.extend(rs)
while rs.next_token:
rs = c.get_all_groups(next_token=rs.next_token)
all_groups.extend(rs)
在循环结束时,all_groups
应包含所有AutoScaling组。您可以提出一种更优雅的方式来做到这一点,但这应该有效,并为您提供有关如何进行分页的基本信息。