使用Boto3分页获取AWS ELB仅返回34个,如何获取全部1400个实例?
解决AWS Boto3无法获取全部ELB实例的问题
首先,你的代码存在致命拼写错误:describe_load_balncers需修正为describe_load_balancers,这个错误会导致分页器无法按预期调用正确API,进而无法获取全部实例。
修正后的完整代码如下:
import boto3 # 初始化经典ELB客户端 elb_client = boto3.client('elb', region_name='us-east-1') # 使用正确的API方法名创建分页器 paginator = elb_client.get_paginator('describe_load_balancers') # 遍历所有分页结果 for page in paginator.paginate(): for elb in page['LoadBalancerDescriptions']: print(elb['LoadBalancerName'])
额外注意事项
- 上述代码仅针对经典ELB(Classic Load Balancer),若你还持有应用负载均衡(ALB)或网络负载均衡(NLB),需使用
elbv2客户端获取这类实例,示例代码如下:
import boto3 # 初始化ELBv2客户端(适配ALB/NLB) elbv2_client = boto3.client('elbv2', region_name='us-east-1') paginator = elbv2_client.get_paginator('describe_load_balancers') for page in paginator.paginate(): for elb in page['LoadBalancers']: print(elb['LoadBalancerName'])
- 确认你的AWS凭证拥有
elasticloadbalancing:DescribeLoadBalancers权限,权限不足也会导致无法获取全部实例。
内容的提问来源于stack exchange,提问作者chirag patil
相关产品推荐
相关产品推荐

