Wie Sie Zugriff auf das event-Objekt mit python in AWS Lambda?
Follow-up auf diese Frage:
Filter CloudWatch Logs zu extrahieren Instanz-ID
Ich denke, es bleibt die Frage unvollständig, weil es nicht sagen, wie man Zugriff auf das event-Objekt mit python.
Mein Ziel ist:
- Lesen Sie die Instanz, die ausgelöst wurde durch eine änderung in den running-Zustand
- bekommen Sie einen tag-Wert zugeordnet ist, die Instanz
- starten alle anderen Instanzen, die den gleichen tag
Den Cloudwatch-trigger-Ereignis:
{
"source": [
"aws.ec2"
],
"detail-type": [
"EC2 Instance State-change Notification"
],
"detail": {
"state": [
"running"
]
}
}
Ich sehe Beispiele wie diese:
def lambda_handler(event, context):
# here I want to get the instance tag value
# and set the tag filter based on the instance that
# triggered the event
filters = [{
'Name': 'tag:StartGroup',
'Values': ['startgroup1']
},
{
'Name': 'instance-state-name',
'Values': ['running']
}
]
instances = ec2.instances.filter(Filters=filters)
Kann ich sehen das event-Objekt, aber ich nicht sehen, wie drill-down in der tag des die Instanz, die hatte es Status auf "running" gewechselt.
Bitte, was ist das Objekt, Attribut, durch das ich kann einen tag von der Instanz ausgelöst?
Ich vermute, es ist so etwas wie:
myTag = event.details.instance-id.tags["startgroup1"]
InformationsquelleAutor Chrisjx | 2017-09-14
Du musst angemeldet sein, um einen Kommentar abzugeben.
In den Detailbereich der Veranstaltung, erhalten Sie die Instanz-Id ist. Mithilfe der Instanz-id und AWS-SDK können Sie die Abfrage der tags. Im folgenden wird die Beispiel-Ereignis -
InformationsquelleAutor Vaisakh PS
Die event-Daten an der Lambda enthält die Instanz-ID.
Müssen Sie dann anrufen
describe_tags()
abrufen, ein Wörterbuch des tags.InformationsquelleAutor John Rotenstein
Dies ist, was ich kam mit...
Bitte lassen Sie mich wissen, wie man es besser machen kann. Vielen Dank für die Hilfe.
InformationsquelleAutor Chrisjx