Ich habe unter Abfrage in einer Variablen gespeichert habe ich und ich muss Wert von 'Ressource_Status' abrufen.Parsen von JSON in Python
Ich brauche 'UPDATE_IN_PROGRESS'
Wie gewünscht, hier den Code setzen. Die Variable evntsdata speichert die Ereignisliste.
try:
evntsdata = str(hc.events.list(stack_name)[0]).split(" ") # this is the variable that is getting the JSON response (or so)
#print(evntsdata[715:733])
#event_handle = evntsdata[715:733]
if event_handle == 'UPDATE_IN_PROGRESS':
loopcontinue = True
while loopcontinue:
evntsdata = str(hc.events.list(stack_name)[0]).split(" ")
#event_handle = evntsdata[715:733]
if (event_handle == 'UPDATE_COMPLETE'):
loopcontinue = False
print(str(timestamp()) + " " + "Stack Update is Completed!" + ' - ' + evntsdata[-3] + ' = ' + evntsdata[-1])
else:
print(str(timestamp()) + " " + "Stack Update in Progress!" + ' - ' + evntsdata[-3] + ' = ' + evntsdata[-1])
time.sleep(10)
else:
print("No updates to perform")
exit(0)
except AttributeError as e:
print(str(timestamp()) + " " + "ERROR: Stack Update Failure")
raise
print (evntsdata) hat unten Ergebnis
['<Event', "{'resource_name':", "'Stackstack1',", "'event_time':", "'2017-05-26T12:10:43',", "'links':", "[{'href':", "'x',", "'rel':", "'self'},", "{'href':", "'x',", "'rel':", "'resource'},", "{'href':", "'x',", "'rel':", "'stack'}],", "'logical_resource_id':", "'Stackstack1',", "'resource_status':", "'UPDATE_IN_PROGRESS',", "'resource_status_reason':", "'Stack", 'UPDATE', "started',", "'physical_resource_id':", "'xxx',", "'id':", "'xxx'}>"]
Dies ist nicht JSON. Sie haben anscheinend ein Ereignisobjekt gedruckt. Bitte * zeigen Sie Ihren Code * mit einem [Bearbeiten] und schließen Sie auch Ihre Versuche ein, diese –
zu analysieren. Bitte überprüfen Sie die Änderung. Lassen Sie mich wissen, wenn Sie weitere Informationen benötigen –
Was auch immer 'hc.events.list (stack_name) [0]' ist, sollten Sie 'str()' und '.split()' es nicht. Das ist auf so vielen Ebenen falsch. Ich nehme an, dass diese 'Event' Klasse einige Methoden hat, um das gesuchte Feld zu erhalten. Benutze sie. – freakish