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).
-
Eine Einführung in das finden Sie AWS SAMCLI unter Was ist das? AWS SAMCLI
-
Eine Dokumentation zur Verwendung des AWS SAMCLI
sam local invokeUnterbefehls finden Sie unterEinführung in das Testen mit sam local invoke.
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-hostLIST-
Übergibt eine Zuordnung von Hostname zu IP-Adresse an die Hostdatei des Docker-Containers. Dieser Parameter kann mehrfach übergeben werden.
Beispiel:
--add-hostexample.com:127.0.0.1 --beta-features | --no-beta-features-
Betafunktionen zulassen oder ablehnen.
--config-envTEXT-
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-filePATH-
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-hostTEXT-
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-interfaceTEXT-
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-argsTEXT-
Zusätzliche Argumente, die an den Debugger übergeben werden.
--debug-port, -dTEXT-
Wenn angegeben, wird der Lambda-Funktionscontainer im Debug-Modus gestartet und dieser Port auf dem lokalen Host verfügbar gemacht.
--debugger-pathTEXT-
Der Hostpfad zu einem Debugger, der in den Lambda-Container gemountet ist.
--docker-networkTEXT-
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, -vTEXT-
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-nameTEXT-
Name für die dauerhafte Ausführung (nur für dauerhafte Funktionen)
--env-vars, -nPATH-
Die JSON-Datei, die Werte für die Umgebungsvariablen der Lambda-Funktion enthält. Weitere Hinweise zu Umgebungsvariablendateien finden Sie unterUmgebungsvariablendatei.
--event, -ePATH-
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 einzugeben
stdin, 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-imageTEXT-
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-basedirDIRECTORY-
Gibt den Speicherort des Basisverzeichnisses an, in das die von Ihrer Vorlage verwendeten Ebenen heruntergeladen werden.
--log-file, -lTEXT-
Die Protokolldatei, an die Laufzeitprotokolle gesendet werden sollen.
--mount-symlinks-
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_modulesinbuild-in-sourceNodeJS 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
--profileTEXT-
Das spezifische Profil aus Ihrer Anmeldeinformationsdatei, das die AWS Anmeldeinformationen abruft.
--regionTEXT-
Die AWS Region, in der die Bereitstellung erfolgen soll. Beispiel: us-east-1.
--runtimeTEXT-
Verwendet die angegebene Laufzeit, um eine Lambda-Funktion lokal aufzurufen. Dies überschreibt die in der Datei definierte Laufzeit.
template.ymlDies 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-nameOption 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, -tPATH-
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-idTEXT-
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-nameWert 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 --eventevents/s3.json S3JsonLoggerFunction
Das folgende Beispiel testet die Funktion HelloWorldFunction mit der Python 3.11-Laufzeit
$sam local invoke --runtimepython3.11 HelloWorldFunction
Im folgenden Beispiel wird die Funktion HelloWorldFunction mit einem dauerhaften Ausführungsnamen getestet
$sam local invokeHelloWorldFunction --durable-execution-name my-execution