2016-07-21 10 views
0

Ich versuche, die ELB-Namen und die angeschlossenen Instanzen IDs mit Python Boto-Module abrufen. GibtWie AWS abzufragen, um ELB-Namen und angefügte Instanzen mithilfe von Python-Boto-Modulen zu erhalten?

{ 
    import boto 

    conn = boto.connect_elb() 
    conn.get_all_load_balancers() 
} 

nur Loadbalancer Namen jetzt, wie kann ich die Instanz-IDs an den Lastenausgleich abrufen?

+1

im Klar CLI wäre es 'aws elb beschreiben Last-Balancern --load-Balancer-Name sein - -Query LoadBalancerDescriptions []. Instanzen 'Sie können das in Python-Code –

Antwort

2

conn.get_all_load_balancers() - gibt eine Liste von Elbs-Objekten zurück. Jedes Elb-Objekt hat einen Parameter instances, der Ihnen angehängte Instanzen anzeigt. Und von dort können Sie ihre Ids bekommen.
Wenn Sie elb nach Namen suchen möchten, müssen Sie die erste Schleife filtern.

So etwas wie dies funktionieren sollte (für Update Thanks @ Frédéric Henri):

import boto 

conn = boto.connect_elb() 
elbs = conn.get_all_load_balancers(load_balancer_names=['MY-ELB-NAME'])[0] 
instances = [inst.id for elb in elbs for inst in elb.instances] 
+0

übersetzen Sie können nach Namen bereits nein filtern? etwas wie 'conn.get_all_load_balancers (load_balancer_names = ['MY-ELB-NAME'])' –

+0

@ FrédéricHenri Kann, habe nicht versucht :) – Vor

+0

@ FrédéricHenri: Zuerst möchte ich Ihnen danken für die Antwort. Eigentlich habe ich versucht, die oben angegebenen Schritte erhalten einen Fehler. ** AttributeError: 'ResultSet' Objekt hat kein Attribut 'Instanzen' **. – Manzoor

Verwandte Themen