清洁Boto3分页

2024-06-02 06:33:49 发布

您现在位置:Python中文网/ 问答频道 /正文

我试图找到一个非常好的python习惯用法,以最“pythonic”的方式使用aws bot3分页器。下面是我能想到的最好的,我仍然不满意。关于如何使分页更简单,可能不使用while True:有什么想法吗

import boto3

client = boto3.client('acm', region_name='ap-southeast-2')

paginator = client.get_paginator('list_certificates')
response_iterator = paginator.paginate()

while True:
    for certificates in response_iterator:
        for certificate in certificates['CertificateSummaryList']:
            print(certificate)

    if response_iterator.resume_token:
        response_iterator = paginator.paginate(
            PaginationConfig={
                'StartingToken': response_iterator.resume_token
            })
    else:
        break

Tags: inclienttokentrueforresponsecertificateboto3
2条回答

它并没有真正的文档化,但您可以使用分页器执行类似的操作

client = boto3.client('acm')
results = (
   client.get_paginator('list_certificates')
   .paginate()
   .build_full_result()
)
print(results)

下面的表格行吗

client = boto3.client('acm', region_name='ap-southeast-2')

paginator = client.get_paginator('list_certificates')

for page in paginator.paginate():
    print(page)

相关问题 更多 >