【发布时间】:2020-10-05 18:17:28
【问题描述】:
我有一个现有的代码,它一个接一个地向 AWS 查询资源,并根据资源名称进行过滤。当前的实现是线性的,从每个资源的一个功能转移到下一个功能,创建各自的客户端并使用客户端查询 aws。这当然会耗费大量时间。是否可以以异步方式运行这些功能中的每一个?代码流看起来像下面的 sn-p,有更多的资源查询。 任何意见/建议都会有所帮助。
def query_acm():
client = boto3.client('acm', region_name=region)
client.get_paginator('list_certificates')
# filter and write to file
def query_asg():
client = boto3.client('autoscaling', region_name=region)
paginator = client.get_paginator('describe_auto_scaling_groups')
# paginate filter and write to file
def main():
query_acm()
query_asg()
【问题讨论】:
-
你看到这里的讨论了吗? github.com/boto/botocore/issues/458
-
感谢 @MarkB 分享链接,但这个问题已经开放了大约 3 年,人们似乎仍然对可用的解决方案有疑问。我确实探索了 aiobotocore 选项,但我这里的需求相对简单。
标签: python amazon-web-services asynchronous boto3 python-asyncio