Erhalt tags von AWS-Instanzen mit boto
Ich versuche zu erhalten tags, die von Instanzen in mein AWS-Konto mithilfe von Python boto Bibliothek.
Während dieses snippet funktioniert, richtig ist, dass alle, tags:
tags = e.get_all_tags()
for tag in tags:
print tag.name, tag.value
(e ist eine EC2-Verbindung)
Wenn ich Anfrage-tags aus einzelnen Instanzen,
print vm.__dict__['tags']
oder
print vm.tags
Bin ich immer eine leere Liste (vm ist tatsächlich eine Instanz der Klasse).
Folgenden code:
vm.__dict__['tags']['Name']
natürlich Ergebnisse, in:
KeyError: 'Name'
Mein code war bis gestern, und plötzlich bin ich nicht in der Lage, die tags aus einer Instanz.
Weiß jemand, ob es ein problem mit der AWS API?
InformationsquelleAutor der Frage rodolk | 2013-10-22
Du musst angemeldet sein, um einen Kommentar abzugeben.
Müssen Sie sicher sein, dass die 'Name' - tag vorhanden ist, bevor Sie auf es. Versuchen Sie dies:
drucken:
InformationsquelleAutor der Antwort andpei
Probieren Sie etwas wie dieses:
Sollten alle tags zugeordnet Instanz
i-xxxxxxxx
ausgedruckt.InformationsquelleAutor der Antwort garnaat
Für boto3 Sie dies tun müssen.
InformationsquelleAutor der Antwort nu everest
Es stellte sich heraus, dass ein Fehler in meinem code. Ich habe nicht den Fall betrachten, dass eine Instanz ohne tag 'Name'.
Gab es eine Instanz, ohne das tag "Name" und mein code wurde versucht, um diesen tag von jeder Instanz.
Bei mir lief dieses Stück code in einer Instanz ohne tag 'Name'
Bekam ich: KeyError: 'Name'. vm ist eine AWS-Instanz.
Mit den Instanzen eigentlich hatte dieser tag-Satz, ich habe keine Probleme haben.
Danke für Eure Hilfe und sorry für die Nachfrage, wenn es nur meine eigenen Fehler.
InformationsquelleAutor der Antwort rodolk