在用 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')
将正确的区域设置为上面的行。
希望这有帮助。