繁体   English   中英

boto3 describe_load_balancers() 什么都不显示,而 aws-cli 显示所有

[英]boto3 describe_load_balancers() shows nothing while aws-cli shows all

在用 boto3 敲打我的头一段时间后,我决定进行一次健全性检查,以确保我在 AWS 控制台中看到的 elb 和 alb 确实存在。

aws elbv2 describe-load-balancers

aws elb describe-load-balancers

都显示结果。

但是,此代码显示为空(没有错误,但没有结果):

import boto3

def all_lb(lb_type,*args):
    try:
        if lb_type == 'alb':
            elb = boto3.client('elbv2')
        elif lb_type == 'elb':
            elb = boto3.client('elb')
    except Exception as exc:
        print(exc)
        exit(1)

    elb.describe_load_balancers()

print("---- ELB's")
all_lb(lb_type='elb')

print("---- ALB's")
all_lb(lb_type='alb')

我在这里做错了什么?

结果在 elb.describe_load_balancers()

import boto3

def all_lb(lb_type,*args):
    try:
        if lb_type == 'alb':
            elb = boto3.client('elbv2')
            name = 'LoadBalancers'
        elif lb_type == 'elb':
            elb = boto3.client('elb')
            name = 'LoadBalancerDescriptions'
    except Exception as exc:
        print(exc)
        exit(1)

    bals = elb.describe_load_balancers()

    for elb2 in bals[name]:
        print(elb2['LoadBalancerName'])

print("---- ELB's")
all_lb(lb_type='elb')

print("---- ALB's")
all_lb(lb_type='alb')

代码必须获取错误的区域,因为终端设置为使用正确的区域。

elb = boto3.client('elbv2', region_name='us-west-2')

将您的正确区域设置为上面的行。

希望这可以帮助。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM