为什么使用boto3对分页器的迭代返回如此之慢?

问题描述 投票:0回答:1

我正在使用boto3从AWS基础架构中检索资源。我的代码是从所有16个地区提取功能。我很好奇它为什么这么慢(大约20秒)。在调查时,我意识到以下代码行是瓶颈:

pages = client.get_paginator(paginator_name).paginate(**paginator_args)
client = AWSFacadeUtils.get_client(service, region)
pages = client.get_paginator(paginator_name).paginate(**paginator_args))

resources = []
for page in pages: # This is hella slow
    resources.extend(page[key])

return resources

为什么迭代遍历页面这么慢?

python pagination boto3
1个回答
0
投票

迭代遍历页面的原因是,您不仅要迭代资源,而且要提取资源。

从文档中,这是paginatorsays:

分页(** kwargs)

为操作创建分页器对象。

这将返回一个可迭代对象。迭代此对象将一次生成一个响应的单个页面。

© www.soinside.com 2019 - 2024. All rights reserved.