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.
Einführung in das Testen mit sam local start-lambda
Verwenden Sie den AWS SAMCLI Unterbefehlsam local start-lambda, um Ihre Lambda-Funktion über und aufzurufen. AWS CLI SDKs Dieser Befehl startet einen lokalen Endpunkt, der Lambda emuliert.
-
Eine Einführung in das finden Sie unter AWS SAMCLI Was ist das? AWS SAMCLI
-
Eine Liste der
sam local start-lambdaBefehlsoptionen finden Sie untersam local start-lambda.
Anmerkung
sam local start-lambdaunterstützt langlebige Funktionen mit automatischem Checkpoint und Wiedergabefunktionen. Dauerhafte Funktionen arbeiten nahtlos mit dem lokalen Lambda-Endpunkt zusammen.
Um das zu verwendensam local start-lambda, installieren Sie das, AWS SAMCLI indem Sie wie folgt vorgehen:
Vor der Verwendung empfehlen wirsam local start-lambda, sich mit folgenden Grundkenntnissen vertraut zu machen:
Sam Local Start-Lambda verwenden
Beim Ausführen AWS SAMCLI geht das davon aussam local start-lambda, dass Ihr aktuelles Arbeitsverzeichnis das Stammverzeichnis Ihres Projekts ist. Das AWS SAMCLI sucht zuerst nach einer template.[yaml|yml] Datei in einem .aws-sam Unterordner. Wenn nicht gefunden, sucht der AWS SAMCLI nach einer template.[yaml|yml] Datei in Ihrem aktuellen Arbeitsverzeichnis.
Um Sam Local Start-Lambda zu verwenden
-
Führen Sie im Stammverzeichnis Ihres Projekts Folgendes aus:
$sam local start-lambda<options> -
Das AWS SAMCLI erstellt Ihre Lambda-Funktionen in einem lokalen Docker Container. Anschließend wird die lokale Adresse an Ihren HTTP-Serverendpunkt ausgegeben. Im Folgenden wird ein Beispiel gezeigt:
$sam local start-lambdaInitializing the lambda functions containers. Local image is up-to-date Using local image: public.ecr.aws/lambda/python:3.9-rapid-x86_64. Mounting /Users/.../sam-app/hello_world as /var/task:ro,delegated, inside runtime container Containers Initialization is done. Starting the Local Lambda Service. You can now invoke your Lambda Functions defined in your template through the endpoint. 2023-04-13 07:25:43 WARNING: This is a development server. Do not use it in a production deployment. Use a production WSGI server instead. * Running on http://127.0.0.1:3001 2023-04-13 07:25:43 Press CTRL+C to quit -
Verwenden Sie das AWS CLI oder SDKs , um Ihre Lambda-Funktion lokal aufzurufen.
Das Folgende ist ein Beispiel für die Verwendung von: AWS CLI
$aws lambda invoke --function-nameStatusCode: 200 (END)"HelloWorldFunction"--endpoint-url"http://127.0.0.1:3001"--no-verify-ssl out.txtDas Folgende ist ein Beispiel AWS SDK für die Verwendung vonPython:
import boto3 from botocore.config import Config from botocore import UNSIGNED lambda_client = boto3.client('lambda', endpoint_url="http://127.0.0.1:3001", use_ssl=False, verify=False, config=Config(signature_version=UNSIGNED, read_timeout=1, retries={'max_attempts': 0} ) ) lambda_client.invoke(FunctionName="HelloWorldFunction")
Optionen
Geben Sie eine Vorlage an
Verwenden Sie die --template Option, AWS SAMCLI um eine Vorlage anzugeben, auf die verwiesen werden soll. Es AWS SAMCLI werden nur diese AWS SAM Vorlage und die Ressourcen, auf die sie verweist, geladen. Im Folgenden wird ein Beispiel gezeigt:
$sam local start-lambda --templatemyTemplate.yaml
Weitere Informationen zu AWS SAM Vorlagen finden Sie unterAWS SAM Anatomie der Vorlage.
Bewährte Methoden
Wenn Ihre Anwendung ein .aws-sam Verzeichnis hat, das ausgeführt wirdsam build, stellen Sie sicher, dass es sam build jedes Mal ausgeführt wird, wenn Sie Ihren Funktionscode aktualisieren. Führen Sie dann sam local start-lambda die Ausführung aus, um Ihren aktualisierten Funktionscode lokal zu testen.
Lokales Testen ist eine hervorragende Lösung für schnelles Entwickeln und Testen vor der Bereitstellung in der Cloud. Bei lokalen Tests wird jedoch nicht alles überprüft, z. B. die Berechtigungen zwischen Ihren Ressourcen in der Cloud. Testen Sie Ihre Anwendungen so oft wie möglich in der Cloud. Wir empfehlen sam sync die Verwendung, um Ihre Cloud-Test-Workflows zu beschleunigen.
Weitere Informationen
Eine Liste aller sam local start-lambda Optionen finden Sie untersam local start-lambda.