sam local invoke - 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.

sam local invoke

Diese Seite enthält Referenzinformationen für den AWS Serverless Application Model sam local invoke Unterbefehl Command Line Interface (AWS SAMCLI).

Der sam local invoke Unterbefehl initiiert einen einmaligen lokalen Aufruf einer Funktion. AWS Lambda

Anmerkung

sam local invokeUnterstützt bei dauerhaften Funktionen die statusbehaftete Ausführung mit automatischem Checkpoint und automatischer Wiedergabe. Der Container läuft während der Ausführung dauerhafter Funktionen weiter, um die Beibehaltung und Wiederaufnahme des Zustands zu gewährleisten.

Usage

$ sam local invoke <arguments> <options>
Anmerkung

Wenn in Ihrer AWS SAM Vorlage mehr als eine Funktion definiert ist, geben Sie die logische ID der Funktion an, die Sie aufrufen möchten.

Argumente

Resource ID (Ressourcen-ID)

Die ID der aufzurufenden Lambda-Funktion.

Dieses Argument ist optional. Wenn Ihre Anwendung eine einzelne Lambda-Funktion enthält, wird sie von der AWS SAM CLI aufgerufen. Wenn Ihre Anwendung mehrere Funktionen enthält, geben Sie die ID der aufzurufenden Funktion an.

Gültige Werte: Die logische ID oder der Ressourcen-ARN der Ressource.

Optionen

--add-host LIST

Übergibt eine Zuordnung von Hostname zu IP-Adresse an die Hostdatei des Docker-Containers. Dieser Parameter kann mehrfach übergeben werden.

Beispiel: --add-host example.com:127.0.0.1

--beta-features | --no-beta-features

Betafunktionen zulassen oder ablehnen.

--config-env TEXT

Der Umgebungsname, der die Standardparameterwerte in der zu verwendenden Konfigurationsdatei angibt. Der Standardwert ist „default“. Weitere Informationen zu Konfigurationsdateien finden Sie unter AWS SAM CLI Konfigurationsdatei.

--config-file PATH

Der Pfad und der Dateiname der Konfigurationsdatei, die die zu verwendenden Standardparameterwerte enthält. Der Standardwert ist "samconfig.toml" im Stammverzeichnis des Projektverzeichnisses. Weitere Informationen zu Konfigurationsdateien finden Sie unter AWS SAM CLI Konfigurationsdatei.

--container-env-vars

(Optional) Übergeben Sie beim lokalen Debuggen Umgebungsvariablen an den Image-Container der Lambda-Funktion.

--container-host TEXT

Host eines lokal emulierten Lambda-Containers. Der Standardwert ist localhost. Wenn Sie AWS SAMCLI in einem Docker-Container auf macOS laufen möchten, können Sie angebenhost.docker.internal. Wenn Sie den Container auf einem anderen Host ausführen möchten als AWS SAMCLI, können Sie die IP-Adresse des Remote-Hosts angeben.

--container-host-interface TEXT

Die IP-Adresse der Host-Netzwerkschnittstelle, an die Container-Ports gebunden werden sollen. Der Standardwert ist 127.0.0.1. Wird verwendet0.0.0.0, um an alle Schnittstellen zu binden.

--debug

Aktiviert die Debug-Protokollierung, um die von ihm AWS SAMCLI generierten Debug-Meldungen zu drucken und Zeitstempel anzuzeigen.

--debug-args TEXT

Zusätzliche Argumente, die an den Debugger übergeben werden.

--debug-port, -d TEXT

Wenn angegeben, wird der Lambda-Funktionscontainer im Debug-Modus gestartet und dieser Port auf dem lokalen Host verfügbar gemacht.

--debugger-path TEXT

Der Hostpfad zu einem Debugger, der in den Lambda-Container gemountet ist.

--docker-network TEXT

Der Name oder die ID eines vorhandenen Docker-Netzwerks, mit dem Lambda-Docker-Container eine Verbindung herstellen sollen, zusammen mit dem Standard-Bridge-Netzwerk. Wenn dies nicht angegeben ist, stellen die Lambda-Container nur eine Verbindung zum Standard-Bridge-Docker-Netzwerk her.

--docker-volume-basedir, -v TEXT

Der Speicherort des Basisverzeichnisses, in dem die AWS SAM Datei existiert. Wenn Docker auf einem Remote-Computer ausgeführt wird, müssen Sie den Pfad, in dem sich die AWS SAM Datei befindet, auf dem Docker-Computer bereitstellen und diesen Wert so ändern, dass er mit dem Remote-Computer übereinstimmt.

--durable-execution-name TEXT

Name für die dauerhafte Ausführung (nur für dauerhafte Funktionen)

--env-vars, -n PATH

Die JSON-Datei, die Werte für die Umgebungsvariablen der Lambda-Funktion enthält. Weitere Hinweise zu Umgebungsvariablendateien finden Sie unterUmgebungsvariablendatei.

--event, -e PATH

Die JSON-Datei, die Ereignisdaten enthält, die an die Lambda-Funktion übergeben werden, wenn sie aufgerufen wird. Wenn Sie diese Option nicht angeben, wird kein Ereignis angenommen. Um JSON von einzugebenstdin, müssen Sie den Wert '-' übergeben. Einzelheiten zu den Formaten von Ereignisnachrichten verschiedener AWS Dienste finden Sie unter Arbeiten mit anderen Diensten im AWS Lambda Entwicklerhandbuch.

--force-image-build

Gibt an, ob das Image, das zum Aufrufen von Lambda-Funktionen mit Ebenen verwendet wird, neu erstellt werden AWS SAMCLI soll.

--help

Zeigt diese Meldung an und wird beendet.

--hook-name TEXT

Der Name des Hooks, der zur Erweiterung der AWS SAMCLI Funktionalität verwendet wird.

Zulässige Werte:terraform.

--invoke-image TEXT

Die URI des Container-Images, das Sie für den lokalen Funktionsaufruf verwenden möchten. Ruft standardmäßig das Container-Image aus Amazon ECR Public ab (die unter aufgeführt sind). AWS SAM Bild-Repositorys für AWS SAM Verwenden Sie diese Option, um das Bild von einem anderen Speicherort abzurufen.

Beispiel, sam local invoke MyFunction --invoke-image amazon/aws-sam-cli-emulation-image-python3.8.

--layer-cache-basedir DIRECTORY

Gibt den Speicherort des Basisverzeichnisses an, in das die von Ihrer Vorlage verwendeten Ebenen heruntergeladen werden.

--log-file, -l TEXT

Die Protokolldatei, an die Laufzeitprotokolle gesendet werden sollen.

Stellt sicher, dass die Symlinks, die in den zu erstellenden oder aufzurufenden Dateien vorhanden sind, AWS SAMCLI immer eingehängt werden. Dies gilt nur für symbolische Links im Verzeichnis der obersten Ebene (d. h. für symbolische Links, die sich direkt im Stammverzeichnis der Funktion befinden). Standardmäßig werden Symlinks nicht gemountet, außer denen, die für die Verwendung node_modules in build-in-source NodeJS benötigt werden.

--no-event

Ruft die Funktion mit einem leeren Ereignis auf.

--no-memory-limit

Beseitigt die Speicherbeschränkung im Container beim lokalen Aufrufen, auch wenn Speicher in der AWS SAM Vorlage konfiguriert ist.

--parameter-overrides

Eine Zeichenfolge, die CloudFormation Parameterüberschreibungen enthält, die als Schlüssel-Wert-Paare codiert sind. Verwenden Sie dasselbe Format wie (). AWS Command Line Interface AWS CLI Das AWS SAMCLI Format besteht aus expliziten Schlüsselwörtern und Werten, wobei jede Überschreibung durch ein Leerzeichen getrennt ist. Nachfolgend finden Sie zwei Beispiele:

  • --parameter-overrides ParameterKey=hello,ParameterValue=world

  • --parameter-overrides ParameterKey=hello,ParameterValue=world ParameterKey=example1,ParameterValue=example2 ParameterKey=apple,ParameterValue=banana

--profile TEXT

Das spezifische Profil aus Ihrer Anmeldeinformationsdatei, das die AWS Anmeldeinformationen abruft.

--region TEXT

Die AWS Region, in der die Bereitstellung erfolgen soll. Beispiel: us-east-1.

--runtime TEXT

Verwendet die angegebene Laufzeit, um eine Lambda-Funktion lokal aufzurufen. Dies überschreibt die in der Datei definierte Laufzeit. template.yml Dies ermöglicht auch das Testen von Lambda-Funktionen mit unterschiedlichen Laufzeiten, ohne die ursprüngliche Funktionskonfiguration zu ändern.

--save-params

Speichern Sie die Parameter, die Sie in der Befehlszeile angeben, in der AWS SAM Konfigurationsdatei.

--shutdown

Emuliert nach Abschluss des Aufrufs ein Shutdown-Ereignis, um zu testen, wie Erweiterungen das Shutdown-Verhalten behandeln.

--skip-prepare-infra

Überspringt die Vorbereitungsphase, wenn keine Änderungen an der Infrastruktur vorgenommen wurden. Zusammen mit der --hook-name Option verwenden.

--skip-pull-image

Standardmäßig AWS SAMCLI überprüft das die neueste Remote-Laufzeitumgebung von Lambda und aktualisiert Ihr lokales Image automatisch, damit es synchron bleibt.

Geben Sie diese Option an, um das Herunterladen des neuesten Docker Images für Ihre Lambda-Laufzeitumgebung zu überspringen.

--template, -t PATH

Die AWS SAM Vorlagendatei.

Diese Option ist nicht kompatibel mit--hook-name.

Anmerkung

Wenn Sie diese Option angeben, werden nur die Vorlage und die lokalen Ressourcen AWS SAM geladen, auf die sie verweist.

--tenant-id TEXT

Die Mandanten-ID für Lambda-Funktionen mit mehreren Mandanten. Wird verwendet, um die Rechenisolierung zwischen verschiedenen Mandanten sicherzustellen. Erforderlich beim Aufrufen von Funktionen, die mit dem Mandantenisolationsmodus konfiguriert sind.

--terraform-plan-file

Der relative oder absolute Pfad zu Ihrer lokalen Terraform Plandatei, wenn Sie with verwenden. AWS SAMCLI Terraform Cloud Für diese Option muss der --hook-name Wert auf gesetzt seinterraform.

Beispiele

Im folgenden Beispiel wird ein generiertes Ereignis für lokale Tests verwendet, indem ein s3.json Ereignis verwendet wird, um eine Lambda-Funktion lokal aufzurufen.

$ sam local invoke --event events/s3.json S3JsonLoggerFunction

Das folgende Beispiel testet die Funktion HelloWorldFunction mit der Python 3.11-Laufzeit

$ sam local invoke --runtime python3.11 HelloWorldFunction

Im folgenden Beispiel wird die Funktion HelloWorldFunction mit einem dauerhaften Ausführungsnamen getestet

$ sam local invoke HelloWorldFunction --durable-execution-name my-execution