Python 无法使用boto3 paginate遍历cloudwatch上的所有报警

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

我正在尝试列出AWS Cloudwatch中的所有警报。目前我有大约200个。然而,当我尝试列出它们时,我得到的最大值是100。我尝试分页,但无法转到下一页或使用下一个令牌

下面是代码片段

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")