Lambdas Erklärung für Python-Anfänger.
Eine Funktion innerhalb der Lambda-Funktion, die Lambda importiert.
python:Code(Beispiel):
def lambda_handler(event, context):
Lambda verwendet den Ereignisparameter, um Ereignisdaten an den Handler zu übergeben.
Dieser Parameter ist normalerweise ein Python-Wörterbuchtyp.
json:Ereignisdaten, wenn die Ereignisquelle CloudWatch-Ereignisse ist(Stichprobe):
{
"account": "123456789012",
"region": "ap-northeast-1",
"detail": {},
"detail-type": "Scheduled Event",
"source": "aws.events",
"time": "1970-01-01T00:00:00Z",
"id": "cdc73f9d-aea9-11e3-9d5a-835b769c0d9c",
"resources": [
"arn:aws:events:ap-northeast-1:123456789012:rule/my-schedule"
]
}
Sie können auch die Typen list, str, int, float und NoneType verwenden.
Verwenden Sie den Kontextparameter, um auf die Laufzeitinformationen zuzugreifen, die im Kontextobjekt von Lambda gespeichert sind.
Dieser Parameter ist vom Typ Lambda Context.
https://docs.aws.amazon.com/ja_jp/lambda/latest/dg/python-context-object.html
Während der Ausführung der Lambda-Funktion kann das Context-Objekt die folgenden Laufzeitinformationen abrufen:
Verbleibende Zeit zum Beenden der Lambda-Funktion
Das Timeout kann durch Einstellen der Lambda-Funktion geändert werden
CloudWatch-Protokollgruppe und Protokolldatenstrom, die der ausgeführten Lambda-Funktion zugeordnet sind.
Die AWS-Anforderungs-ID wurde an den Client zurückgegeben, der die Lambda-Funktion importiert hat.
Verfügbar für Anfragen an den AWS-Support.
Wenn die Lambda-Funktion über das Mobile SDK aufgerufen wird, erfahren Sie mehr über die mobile Anwendung, die die Lambda-Funktion importiert.
Optional kann der Handler einen Wert zurückgeben.
Das Ergebnis wird an den importierenden Client zurückgegeben.
Beispiel für einen Rückgabewert
return event['time']
Lambda gibt nichts zurück.
Druckfunktion (Standardausgabe)
Schreiben Sie Protokolle in CloudWatch-Protokolle.
Codebeispiel
print('Check complete at {}'.format(str(datetime.now())))
Protokollierung. * Funktion
Schreiben Sie Protokolle in CloudWatch-Protokolle.
Schreiben Sie zusätzliche Informationen wie Zeitstempel und Protokollebenen in jeden Protokolleintrag.
Wenn in der Lambda-Funktion eine Ausnahme auftritt, erkennt Lambda den Fehler und serialisiert die Ausnahmeinformationen und gibt sie an JSON zurück.
https://docs.aws.amazon.com/ja_jp/lambda/latest/dg/python-exceptions.html
python:Codebeispiel:
def always_failed_handler(event, context):
raise Exception('I failed!')
json:Beispielfehlermeldung:
{
"errorMessage": "I failed!",
"stackTrace": [
[
"/var/task/lambda_function.py",
3,
"my_always_fails_handler",
"raise Exception('I failed!')"
]
],
"errorType": "Exception"
}