Setelah membenturkan kepala saya dengan boto3 untuk sementara waktu, saya memutuskan untuk melakukan pemeriksaan kewarasan untuk memastikan bahwa elb dan alb yang saya lihat di konsol AWS benar-benar ada.

aws elbv2 describe-load-balancers

Dan

aws elb describe-load-balancers

Keduanya menunjukkan hasil.

Namun, kode ini menunjukkan kosong (tidak ada kesalahan, tetapi tidak ada hasil):

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')

Apa yang saya lakukan salah di sini?

1
senorsmile 4 Januari 2020, 08:46

2 jawaban

Jawaban Terbaik

Hasilnya ada di 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')
2
Philippe 4 Januari 2020, 15:23

Kode harus mendapatkan wilayah yang salah di mana terminal diatur untuk menggunakan wilayah yang benar.

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

Tetapkan wilayah Anda yang benar seperti baris di atas.

Semoga ini membantu.

1
Arun K 4 Januari 2020, 07:52