Wählen Sie Ihre Cookie-Einstellungen aus

Wir verwenden essentielle Cookies und ähnliche Tools, die für die Bereitstellung unserer Website und Services erforderlich sind. Wir verwenden Performance-Cookies, um anonyme Statistiken zu sammeln, damit wir verstehen können, wie Kunden unsere Website nutzen, und Verbesserungen vornehmen können. Essentielle Cookies können nicht deaktiviert werden, aber Sie können auf „Anpassen“ oder „Ablehnen“ klicken, um Performance-Cookies abzulehnen.

Wenn Sie damit einverstanden sind, verwenden AWS und zugelassene Drittanbieter auch Cookies, um nützliche Features der Website bereitzustellen, Ihre Präferenzen zu speichern und relevante Inhalte, einschließlich relevanter Werbung, anzuzeigen. Um alle nicht notwendigen Cookies zu akzeptieren oder abzulehnen, klicken Sie auf „Akzeptieren“ oder „Ablehnen“. Um detailliertere Entscheidungen zu treffen, klicken Sie auf „Anpassen“.

Verwenden des Lambda-Kontextobjekts zum Abrufen von Java-Funktionsinformationen

Fokusmodus
Verwenden des Lambda-Kontextobjekts zum Abrufen von Java-Funktionsinformationen - AWS Lambda

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.

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.

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.

Context-Methoden
  • getRemainingTimeInMillis() – Gibt die Anzahl der verbleibenden Millisekunden zurück, bevor die Ausführung das Zeitlimit überschreitet.

  • getFunctionName() – Gibt den Namen der Lambda-Funktion zurück.

  • getFunctionVersion() – Gibt die Version der Funktion zurück.

  • getInvokedFunctionArn() – Gibt den Amazon-Ressourcennamen (ARN) zurück, der zum Aufrufen der Funktion verwendet wird. Gibt an, ob der Aufrufer eine Versionsnummer oder einen Alias angegeben hat.

  • getMemoryLimitInMB() – Gibt die Menge an Arbeitsspeicher zurück, die der Funktion zugewiesen ist.

  • getAwsRequestId() – Gibt den Bezeichner der Aufrufanforderung zurück.

  • getLogGroupName() – Gibt die Protokollgruppe für die Funktion zurück.

  • getLogStreamName() – Gibt den Protokollstrom für die Funktionsinstance zurück.

  • getIdentity() – Gibt Informationen zur Amazon-Cognito-Identität zurück, die die Anforderung autorisiert hat.

  • getClientContext() – (mobile Apps) Gibt Clientkontext zurück, der Lambda von der Clientanwendung bereitgestellt wird.

  • getLogger() – Gibt das Logger-Objekt für die Funktion zurück.

Das folgende Beispiel zeigt eine Funktion, die das Kontextobjekt verwendet, um auf den Lambda-Logger zuzugreifen.

Beispiel handler.java
package example; import com.amazonaws.services.lambda.runtime.Context; import com.amazonaws.services.lambda.runtime.LambdaLogger; import com.amazonaws.services.lambda.runtime.RequestHandler; import java.util.Map; // Handler value: example.Handler public class Handler implements RequestHandler<Map<String,String>, Void>{ @Override public Void handleRequest(Map<String,String> event, Context context) { LambdaLogger logger = context.getLogger(); logger.log("EVENT TYPE: " + event.getClass()); return null; } }

Die Funktion protokolliert den Klassentyp des eingehenden Ereignisses, bevor sie null zurückgibt.

Beispiel Protokollausgabe
EVENT TYPE: class java.util.LinkedHashMap

Die Schnittstelle für das Kontextobjekt ist in der aws-lambda-java-core-Bibliothek verfügbar. Sie können diese Schnittstelle implementieren, um eine Kontextklasse zum Testen zu erstellen. Das folgende Beispiel zeigt eine Kontextklasse, die Dummy-Werte für die meisten Eigenschaften und einen funktionierenden Testlogger zurückgibt.

Beispiel src/test/java/example/TestContext.java
package example; import com.amazonaws.services.lambda.runtime.Context; import com.amazonaws.services.lambda.runtime.CognitoIdentity; import com.amazonaws.services.lambda.runtime.ClientContext; import com.amazonaws.services.lambda.runtime.LambdaLogger; public class TestContext implements Context{ public TestContext() {} public String getAwsRequestId(){ return new String("495b12a8-xmpl-4eca-8168-160484189f99"); } public String getLogGroupName(){ return new String("/aws/lambda/my-function"); } public String getLogStreamName(){ return new String("2020/02/26/[$LATEST]704f8dxmpla04097b9134246b8438f1a"); } public String getFunctionName(){ return new String("my-function"); } public String getFunctionVersion(){ return new String("$LATEST"); } public String getInvokedFunctionArn(){ return new String("arn:aws:lambda:us-east-2:123456789012:function:my-function"); } public CognitoIdentity getIdentity(){ return null; } public ClientContext getClientContext(){ return null; } public int getRemainingTimeInMillis(){ return 300000; } public int getMemoryLimitInMB(){ return 512; } public LambdaLogger getLogger(){ return new TestLogger(); } }

Weitere Informationen zu Protokollierung finden Sie unter Java-Lambda-Funktionen protokollieren und überwachen.

Kontext in Beispielanwendungen

Das GitHub Repository für dieses Handbuch enthält Beispielanwendungen, die die Verwendung des Kontextobjekts demonstrieren. Jede Beispielanwendung enthält Skripts für die einfache Bereitstellung und Bereinigung, eine AWS Serverless Application Model (AWS SAM) -Vorlage und unterstützende Ressourcen.

Lambda-Beispielanwendungen in Java
  • example-java — Eine Java-Funktion, die demonstriert, wie Sie Lambda zur Bearbeitung von Bestellungen verwenden können. Diese Funktion veranschaulicht, wie Sie ein benutzerdefiniertes Eingabeereignisobjekt definieren und deserialisieren, das SDK verwenden und wie Sie die AWS Ausgabe protokollieren.

  • Java-Basis – Eine Sammlung minimaler Java-Funktionen mit Einheitentests und variabler Protokollierungskonfiguration.

  • Java-Ereignisse – Eine Sammlung von Java-Funktionen, die Grundcode für den Umgang mit Ereignissen aus verschiedenen Services wie Amazon API Gateway, Amazon SQS und Amazon Kinesis enthalten. Diese Funktionen verwenden die neueste Version der aws-lambda-java-eventsBibliothek (3.0.0 und neuer). Für diese Beispiele ist das AWS SDK nicht als Abhängigkeit erforderlich.

  • s3-java – Eine Java-Funktion die Benachrichtigungsereignisse aus Amazon S3 verarbeitet und die Java Class Library (JCL) verwendet, um Miniaturansichten aus hochgeladenen Image-Dateien zu erstellen.

  • layer-java — Eine Java-Funktion, die veranschaulicht, wie Sie eine Lambda-Schicht verwenden, um Abhängigkeiten getrennt von Ihrem Kernfunktionscode zu verpacken.

DatenschutzNutzungsbedingungen für die WebsiteCookie-Einstellungen
© 2025, Amazon Web Services, Inc. oder Tochtergesellschaften. Alle Rechte vorbehalten.