1
因此,我使用boto3連接到AWS並管理位於Elastic Load Balancer(ELB)後面的Web服務器實例。問題是我沒有訪問我的ELB,這是我有權訪問像Instances這樣的其他現有資源。例如,當我運行這段代碼,我可以看到我正在運行的實例:使用適用於python的AWS開發工具包訪問AWS Elastic Load Balancer
ec2 = boto3.resource('ec2', region_name="us-east-2")
instances = ec2.instances.all()
for instance in instances.all():
print(instance)
輸出是這樣的:
ec2.Instance(id='i-xxxxxxxxxxxxxxxxx')
ec2.Instance(id='i-xxxxxxxxxxxxxxxxx')
ec2.Instance(id='i-xxxxxxxxxxxxxxxxx')
通過運行下面的代碼,我希望看到我ELBs:
elb = boto3.client('elb', region_name="us-east-2")
elbs = elb.describe_load_balancers()
print(elbs)
但輸出是這樣的:
{'LoadBalancerDescriptions': [], 'ResponseMetadata': {'RequestId': 'f813b2d3-b5e8-11e7-8b34-73b6f3d263a2', 'HTTPStatusCode': 200, 'HTTPHeaders': {'x-amzn-requestid': 'f813b2d3-b5e8-11e7-8b34-73b6f3d263a2','content-type': 'text/xml', 'content-length': '335', 'date': 'Fri, 20 Oct 2017 22:49:45 GMT'}, 'RetryAttempts': 0}}
正如您在輸出中看到的,LoadBalancerDescriptions
中沒有ELB,而根據API refference,它應該包含現有ELB的名稱。但是,我有我的控制檯ELB工作正常:
我不知道爲什麼Python代碼不起作用。