如何用Boto3获取所有CloudFormation导出值?有无更简便方案?
简化Boto3 list_exports 调用的方法
Boto3内置的**分页器(Paginator)**可以帮你自动处理NextToken的循环调用,不用手动写重复逻辑,代码会简洁很多。
实现示例
import boto3 # 创建CloudFormation客户端(list_exports属于CloudFormation的API) cf_client = boto3.client('cloudformation') # 获取list_exports对应的分页器 paginator = cf_client.get_paginator('list_exports') # 遍历所有分页结果,自动拼接全量数据 all_exports = [] for page in paginator.paginate(): all_exports.extend(page['Exports']) # 后续可直接使用all_exports变量 print(all_exports)
补充说明
- 分页器会自动检测响应中的
NextToken,并自动重复调用API直到获取所有结果,完全不需要你手动处理令牌传递和循环终止判断。 - 如果需要过滤导出项(比如按名称前缀),直接在
paginate()方法中传入对应参数即可:for page in paginator.paginate(NamePrefix='my-app-exports-'): all_exports.extend(page['Exports'])
内容的提问来源于stack exchange,提问作者jbuddy_13
相关产品推荐
相关产品推荐

