Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.
Verwenden des Lambda-Kontextobjekts zum Abrufen von Python-Funktionsinformationen
Wenn Lambda Ihre Funktion ausführt, wird ein Context-Objekt an den Handler. übergeben. Dieses Objekt stellt Methoden und Eigenschaften mit Informationen zum Aufruf, zur Funktion und zur Ausführungsumgebung bereit. Weitere Informationen darüber, wie das Kontextobjekt an den Funktions-Handler übergeben wird, finden Sie unter Definieren Sie den Lambda-Funktionshandler in Python.
Context-Methoden
-
get_remaining_time_in_millis
– Gibt die Anzahl der verbleibenden Millisekunden zurück, bevor die Ausführung das Zeitlimit überschreitet.
Context-Eigenschaften
-
function_name
– Der Name der Lambda-Funktion. -
function_version
– Die Version der Funktion. -
invoked_function_arn
— Der Amazon-Ressourcenname (ARN), der zum Aufrufen der Funktion verwendet wird. Gibt an, ob der Aufrufer eine Versionsnummer oder einen Alias angegeben hat. -
memory_limit_in_mb
– Die Menge an Arbeitsspeicher, die der Funktion zugewiesen ist. -
aws_request_id
– Der Bezeichner der Aufrufanforderung. -
log_group_name
– Protokollgruppe für die Funktion. -
log_stream_name
– Der Protokollstream für die Funktions-Instance. -
identity
– Informationen zur Amazon-Cognito-Identität, die die Anforderung autorisiert hat.-
cognito_identity_id
— Die authentifizierte Amazon-Cognito-Identität. -
cognito_identity_pool_id
– Der Amazon-Cognito-Identitätspool, der den Aufruf autorisiert hat.
-
-
client_context
– (mobile Apps) Clientkontext, der Lambda von der Clientanwendung bereitgestellt wird.-
client.installation_id
-
client.app_title
-
client.app_version_name
-
client.app_version_code
-
client.app_package_name
-
custom
– Eindict
mit benutzerdefinierten Werten, die von der mobilen Clientanwendung festgelegt wurden. -
env
— Eine Reihedict
von Umweltinformationen, die von der AWS SDK bereitgestellt werden.
-
Powertools for Lambda (Python) bietet eine Schnittstellendefinition für das Lambda-Kontextobjekt. Sie können die Schnittstellendefinition für Typhinweise verwenden oder um die Struktur des Lambda-Kontextobjekts genauer zu untersuchen. Die Schnittstellendefinition finden Sie unter lambda_context.py
Das folgende Beispiel zeigt eine Handler-Funktion zur Protokollierung von Context-Informationen.
Beispiel handler.py
import time def lambda_handler(event, context): print("Lambda function ARN:", context.invoked_function_arn) print("CloudWatch log stream name:", context.log_stream_name) print("CloudWatch log group name:", context.log_group_name) print("Lambda Request ID:", context.aws_request_id) print("Lambda function memory limits in MB:", context.memory_limit_in_mb) # We have added a 1 second delay so you can see the time remaining in get_remaining_time_in_millis. time.sleep(1) print("Lambda time remaining in MS:", context.get_remaining_time_in_millis())
Zusätzlich zu den oben aufgeführten Optionen können Sie AWS X-Ray SDK auch verwenden, um kritische Codepfade Instrumentierung von Python-Code in AWS Lambda zu identifizieren, ihre Leistung zu verfolgen und die Daten für die Analyse zu erfassen.