Lokales Aufrufen von Lambda-Funktionen - AWS Serverless Application Model

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.

Lokales Aufrufen von Lambda-Funktionen

Sie können Ihre AWS Lambda Funktion lokal aufrufen, indem Sie den sam local invoke AWS SAMCLI Befehl verwenden und die logische ID und eine Ereignisdatei der Funktion angeben. Alternativ akzeptiert sam local invoke auch stdin als Ereignis. Weitere Informationen zu -Ereignissen finden Sie unter -Ereignis im AWS Lambda -Entwicklerhandbuch. Informationen zu Ereignisnachrichtenformaten aus verschiedenen AWS Services finden Sie unter Verwenden von AWS Lambda mit anderen Services im AWS Lambda Entwicklerhandbuch für .

Anmerkung

Der sam local invoke Befehl entspricht dem AWS CLIBefehl AWS Command Line Interface (aws lambda invoke). Sie können beide Befehle verwenden, um eine Lambda-Funktion aufzurufen.

Sie müssen den sam local invoke Befehl im Projektverzeichnis ausführen, das die Funktion enthält, die Sie aufrufen möchten.

Beispiele:

# Invoking function with event file $ sam local invoke "Ratings" -e event.json # Invoking function with event via stdin $ echo '{"message": "Hey, are you there?" }' | sam local invoke --event - "Ratings" # For more options $ sam local invoke --help

Umgebungsvariablendatei

Gehen Sie wie folgt vor, um Umgebungsvariablen lokal zu deklarieren, die die in Ihren Vorlagen definierten Werte überschreiben:

  1. Erstellen Sie eine JSON-Datei, die die zu überschreibenden Umgebungsvariablen enthält.

  2. Verwenden Sie das Argument --env-vars , um die in Ihren Vorlagen definierten Werte zu überschreiben.

Deklarieren von Umgebungsvariablen

Um Umgebungsvariablen zu deklarieren, die global für alle Ressourcen gelten, geben Sie ein Parameters Objekt wie das folgende an:

{ "Parameters": { "TABLE_NAME": "localtable", "BUCKET_NAME": "testBucket", "STAGE": "dev" } }

Um verschiedene Umgebungsvariablen für jede Ressource zu deklarieren, geben Sie Objekte für jede Ressource wie die folgenden an:

{ "MyFunction1": { "TABLE_NAME": "localtable", "BUCKET_NAME": "testBucket", }, "MyFunction2": { "TABLE_NAME": "localtable", "STAGE": "dev" } }

Wenn Sie Objekte für jede Ressource angeben, können Sie die folgenden Kennungen verwenden, die in der Reihenfolge von der höchsten zur niedrigsten Priorität aufgeführt sind:

  1. logical_id

  2. function_id

  3. function_name

  4. Vollständige Pfad-ID

Sie können die beiden oben genannten Methoden zum Deklarieren von Umgebungsvariablen in einer einzigen Datei verwenden. Dabei haben Umgebungsvariablen, die Sie für bestimmte Ressourcen angegeben haben, Vorrang vor globalen Umgebungsvariablen.

Speichern Sie Ihre Umgebungsvariablen in einer JSON-Datei, z. B. env.json.

Überschreiben von Umgebungsvariablenwerten

Um Umgebungsvariablen mit denen zu überschreiben, die in Ihrer JSON-Datei definiert sind, verwenden Sie das Argument mit den start-api Befehlen invoke oder --env-vars . Beispielsweise:

sam local invoke --env-vars env.json

Ebenen

Wenn Ihre Anwendung Ebenen enthält, finden Sie Informationen zum Debuggen von Problemen mit Ebenen auf Ihrem lokalen Host unter Arbeiten mit Ebenen.

Weitere Informationen

Ein praktisches Beispiel für das lokale Aufrufen von -Funktionen finden Sie unter Modul 2 – Lokal ausführen im Workshop „AWS SAMAbschließen“.