AWS RDS get_all_dbsnapshots未返回所有快照(如何为下一条100条记录提供用户令牌)

时间:2014-09-15 17:46:24

标签: python amazon-web-services boto

使用以下代码我通过此调用获得最多100条记录,假设重新运行下一条100条记录的标记,我该如何使用此标记获取下一条100条记录。

参考:http://boto.readthedocs.org/en/latest/ref/rds.html寻找get_all_dbsnapshots和max_records

all_dbsnapshots = rdsConn.get_all_dbsnapshots()

3 个答案:

答案 0 :(得分:1)

如果要增加返回的记录数,可以在请求快照时使用参数“max_records”。默认值为100。

all_dbsnapshots = rdsConn.get_all_dbsnapshots(max_records=10000)

如果存在多个记录,您可以使用上一个请求返回的MoreToken通过更改marker的值进行迭代。

additional_snapshots = rdsConn.get_all_dbsnapshots(marker=MoreToken)

有关其他帮助,请参阅boto文档:http://boto.readthedocs.org/en/latest/ref/rds.html

答案 1 :(得分:0)

在您按如下方式调用令牌后,最大限制为100(现在工作正常)     市场=无

SnapshotTest(rdsConn, marker):
all_dbsnapshots = rdsConn.get_all_dbsnapshots(marker=marker)
marker=all_dbsnapshots.marker

for snapshot_name in all_dbsnapshots:
    print snapshot_name

if len(marker) > 0: 
    try:        
       SnapshotTest(rdsConn, marker) #recursive call
    except:
       pass

答案 2 :(得分:0)

您可以尝试这样的方式来完成所有快照的互动:

rds_conn = boto.rds.connect_to_region('us-east-1')
snapshots_marker=""
while snapshots_marker != None:
  snapshots = rds_conn.get_all_dbsnapshots(marker=snapshots_marker)
  snapshots_marker = snapshots.marker
  for snap in snapshots:
    ## Do something with your snapshot here