Python 无法使用boto3 paginate遍历cloudwatch上的所有报警
我正在尝试列出AWS Cloudwatch中的所有警报。目前我有大约200个。然而,当我尝试列出它们时,我得到的最大值是100。我尝试分页,但无法转到下一页或使用下一个令牌 下面是代码片段Python 无法使用boto3 paginate遍历cloudwatch上的所有报警,python,amazon-web-services,boto3,amazon-cloudwatch,Python,Amazon Web Services,Boto3,Amazon Cloudwatch,我正在尝试列出AWS Cloudwatch中的所有警报。目前我有大约200个。然而,当我尝试列出它们时,我得到的最大值是100。我尝试分页,但无法转到下一页或使用下一个令牌 下面是代码片段 response = client.describe_alarms(StateValue='OK', MaxRecords = 100) paginator = client.get_paginator('describe_alarms') response_iterator = paginator.pagi
response = client.describe_alarms(StateValue='OK', MaxRecords = 100)
paginator = client.get_paginator('describe_alarms')
response_iterator = paginator.paginate(StateValue='OK',
PaginationConfig={
'MaxItems': 100,
'PageSize': 100,
})
for x in response_iterator:
print(x)
我只得到100张唱片。当我将最大值更改为200或实际数字时,它会给出一个错误,即100是最大值。如何获取全部200。当您调用
paginator.paginate()
方法时,您正在传递'MaxItems':100
。这将把分页器返回的项目总数限制为100,而不管总共有多少个项目。如果你摆脱了那个论点,你会得到一个分页器,它会对你所有的警报进行分页
您可以运行此代码片段来打印分页器中每页返回的报警数:
response_iterator = paginator.paginate(StateValue='OK')
for i in response_iterator:
print(len(i['MetricAlarms']),"alarms found")