Einführung in Cloud-Tests mit sam remote test-event - 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.

Einführung in Cloud-Tests mit sam remote test-event

Verwenden Sie den AWS Serverless Application Model Befehl Command Line Interface (AWS SAM CLI)sam remote test-event, um auf gemeinsam nutzbare Testereignisse für Ihre AWS Lambda Funktionen zuzugreifen und diese zu verwalten.

Weitere Informationen zu gemeinsam nutzbaren Testereignissen finden Sie unter Gemeinsam nutzbare Testereignisse im AWS Lambda Entwicklerhandbuch.

Um das zu verwendensam remote test-event, installieren Sie das, AWS SAMCLI indem Sie wie folgt vorgehen:

Wenn Sie die Version bereits AWS SAM CLI installiert haben, empfehlen wir, auf die neueste Version der AWS SAMCLI Version zu aktualisieren. Weitere Informationen hierzu finden Sie unter Aktualisierung des AWS SAMCLI.

Vor der Verwendung empfehlen wirsam remote test-event, sich mit folgenden Grundkenntnissen vertraut zu machen:

Richten Sie das ein AWS SAMCLI, um es zu verwenden sam remote test-event

Führen Sie die folgenden Einrichtungsschritte aus, um den Befehl zu verwenden: AWS SAM CLI sam remote test-event

  1. Configure the AWS SAM CLI to use your AWS-Konto — Gemeinsam nutzbare Testereignisse für Lambda können von Benutzern innerhalb desselben aufgerufen und verwaltet werden. AWS-Konto Informationen zur Konfiguration für AWS SAM CLI die Verwendung Ihres finden Sie AWS-Konto unter. Konfiguration der AWS SAMCLI

  2. Berechtigungen für gemeinsam nutzbare Testereignisse konfigurieren — Um auf gemeinsam nutzbare Testereignisse zuzugreifen und diese zu verwalten, benötigen Sie die entsprechenden Berechtigungen. Weitere Informationen finden Sie unter Gemeinsam nutzbare Testereignisse im Entwicklerhandbuch.AWS Lambda

Verwenden Sie den Befehl sam remote test-event

Der AWS SAM CLI sam remote test-event Befehl enthält die folgenden Unterbefehle, mit denen Sie auf Ihre gemeinsam nutzbaren Testereignisse zugreifen und diese verwalten können:

  • delete— Löscht ein gemeinsam nutzbares Testereignis aus der EventBridge Amazon-Schemaregistry.

  • get— Ruft ein gemeinsam nutzbares Testereignis aus der EventBridge Schemaregistry ab.

  • list— Listet die vorhandenen gemeinsam nutzbaren Testereignisse für eine Funktion aus der EventBridge Schemaregistrierung auf.

  • put— Speichert ein Ereignis aus einer lokalen Datei in der EventBridge Schemaregistrierung.

Um diese Unterbefehle mithilfe von aufzulisten AWS SAM CLI, führen Sie den folgenden Befehl aus:

$ sam remote test-event --help

Löschen von gemeinsam nutzbaren Testereignissen

Sie können ein gemeinsam nutzbares Testereignis löschen, indem Sie den delete Unterbefehl zusammen mit dem folgenden Befehl verwenden:

  • Geben Sie den Namen des gemeinsam nutzbaren Testereignisses ein, das gelöscht werden soll.

  • Geben Sie eine akzeptable ID der Lambda-Funktion an, die dem Ereignis zugeordnet ist.

  • Wenn Sie die logische ID der Lambda-Funktion angeben, müssen Sie auch den AWS CloudFormation Stacknamen angeben, der der Lambda-Funktion zugeordnet ist.

Im Folgenden wird ein Beispiel gezeigt:

$ sam remote test-event delete HelloWorldFunction --stack-name sam-app --name demo-event

Eine Liste der Optionen, die mit dem delete Unterbefehl verwendet werden können, finden Sie unter. sam remote test-event delete Sie können Folgendes auch über den folgenden Befehl ausführen: AWS SAM CLI

$ sam remote test-event delete --help

Testereignisse abrufen, die gemeinsam genutzt werden können

Sie können ein gemeinsam nutzbares Testereignis aus der EventBridge Schemaregistrierung abrufen, indem Sie den get Unterbefehl zusammen mit dem folgenden Befehl verwenden:

  • Geben Sie den Namen des gemeinsam nutzbaren Testereignisses ein, das abgerufen werden soll.

  • Geben Sie eine akzeptable ID der Lambda-Funktion an, die dem Ereignis zugeordnet ist.

  • Wenn Sie die logische ID der Lambda-Funktion angeben, müssen Sie auch den AWS CloudFormation Stacknamen angeben, der der Lambda-Funktion zugeordnet ist.

Im folgenden Beispiel wird ein gemeinsam nutzbares Testereignis benanntdemo-event, das der HelloWorldFunction Lambda-Funktion des sam-app Stacks zugeordnet ist. Mit diesem Befehl wird das Ereignis auf Ihrer Konsole gedruckt.

$ sam remote test-event get HelloWorldFunction --stack-name sam-app --name demo-event

Um ein gemeinsam nutzbares Testereignis abzurufen und es auf Ihrem lokalen Computer zu speichern, verwenden Sie die --output-file Option und geben Sie einen Dateipfad und einen Namen an. Im Folgenden finden Sie ein Beispiel, das demo-event wie demo-event.json im aktuellen Arbeitsverzeichnis gespeichert wird:

$ sam remote test-event get HelloWorldFunction --stack-name sam-app --name demo-event --output-file demo-event.json

Eine Liste der Optionen, die mit dem get Unterbefehl verwendet werden können, finden Sie untersam remote test-event get. Sie können Folgendes auch über den folgenden Befehl ausführen: AWS SAM CLI

$ sam remote test-event get --help

Testereignisse auflisten, die gemeinsam genutzt werden können

Sie können alle gemeinsam nutzbaren Testereignisse für eine bestimmte Lambda-Funktion aus der Schemaregistrierung auflisten. Verwenden Sie den list Unterbefehl zusammen mit dem Folgenden:

  • Geben Sie eine akzeptable ID der Lambda-Funktion an, die den Ereignissen zugeordnet ist.

  • Wenn Sie die logische ID der Lambda-Funktion angeben, müssen Sie auch den AWS CloudFormation Stacknamen angeben, der der Lambda-Funktion zugeordnet ist.

Im Folgenden finden Sie ein Beispiel, das eine Liste aller gemeinsam nutzbaren Testereignisse abruft, die mit der HelloWorldFunction Lambda-Funktion des Stacks verknüpft sind: sam-app

$ sam remote test-event list HelloWorldFunction --stack-name sam-app

Eine Liste der Optionen, die mit dem list Unterbefehl verwendet werden können, finden Sie unter. sam remote test-event list Sie können Folgendes auch über den folgenden Befehl ausführen: AWS SAM CLI

$ sam remote test-event list --help

Testereignisse speichern, die gemeinsam genutzt werden können

Sie können gemeinsam nutzbare Testereignisse in der EventBridge Schemaregistrierung speichern. Verwenden Sie den put Unterbefehl zusammen mit dem Folgenden:

  • Geben Sie eine akzeptable ID der Lambda-Funktion an, die dem gemeinsam nutzbaren Testereignis zugeordnet ist.

  • Geben Sie einen Namen für das gemeinsam nutzbare Testereignis an.

  • Geben Sie den Dateipfad und den Namen des lokalen Ereignisses an, das hochgeladen werden soll.

Das folgende Beispiel speichert das lokale demo-event.json Ereignis unter demo-event und verknüpft es mit der HelloWorldFunction Lambda-Funktion des sam-app Stacks:

$ sam remote test-event put HelloWorldFunction --stack-name sam-app --name demo-event --file demo-event.json

Wenn ein gemeinsam nutzbares Testereignis mit demselben Namen in der EventBridge Schemaregistrierung vorhanden ist, AWS SAM CLI wird es nicht überschrieben. Um zu überschreiben, fügen Sie die --force Option zu Ihrem Befehl hinzu.

Eine Liste der Optionen, die Sie mit dem put Unterbefehl verwenden können, finden Sie unter. sam remote test-event put Sie können Folgendes auch über den folgenden Befehl ausführen: AWS SAM CLI

$ sam remote test-event put --help

Testereignisse verwenden, die gemeinsam genutzt werden können

Verwenden Sie gemeinsam nutzbare Testereignisse, um Ihre Lambda-Funktionen AWS Cloud mit dem sam remote invoke Befehl zu testen. Weitere Informationen hierzu finden Sie unter Übergeben Sie gemeinsam nutzbare Testereignisse an eine Lambda-Funktion in der Cloud.

Verwaltung gemeinsam nutzbarer Testereignisse

Dieses Thema enthält Beispiele dafür, wie Sie gemeinsam nutzbare Testereignisse verwalten und verwenden können.

Holen Sie sich ein gemeinsam nutzbares Testereignis, ändern Sie es und verwenden Sie es

Sie können ein gemeinsam nutzbares Testereignis aus der EventBridge Schemaregistrierung abrufen, es lokal ändern und das lokale Testereignis mit Ihrer Lambda-Funktion in der verwenden. AWS Cloud Im Folgenden wird ein Beispiel gezeigt:

  1. Das gemeinsam nutzbare Testereignis abrufen — Verwenden Sie den sam remote test-event get Unterbefehl, um ein gemeinsam nutzbares Testereignis für eine bestimmte Lambda-Funktion abzurufen und lokal zu speichern:

    $ sam remote test-event get HelloWorldFunction --stack-name sam-app --name demo-event --output-file demo-event.json
  2. Das gemeinsam nutzbare Testereignis ändern — Verwenden Sie einen Texteditor Ihrer Wahl, um das gemeinsam nutzbare Testereignis zu ändern.

  3. Das gemeinsam nutzbare Testereignis verwenden — Verwenden Sie den sam remote invoke Befehl und geben Sie den Dateipfad und den Namen des Ereignisses mit: --event-file

    $ sam remote invoke HelloWorldFunction --stack-name sam-app --event-file demo-event.json

Holen Sie sich ein gemeinsam nutzbares Testereignis, ändern Sie es, laden Sie es hoch und verwenden Sie es

Sie können ein gemeinsam nutzbares Testereignis aus der EventBridge Schemaregistrierung abrufen, es lokal ändern und hochladen. Anschließend können Sie das gemeinsam nutzbare Testereignis direkt an Ihre Lambda-Funktion in übergeben. AWS Cloud Im Folgenden wird ein Beispiel gezeigt:

  1. Das gemeinsam nutzbare Testereignis abrufen — Verwenden Sie den sam remote test-event get Unterbefehl, um ein gemeinsam nutzbares Testereignis für eine bestimmte Lambda-Funktion abzurufen und lokal zu speichern:

    $ sam remote test-event get HelloWorldFunction --stack-name sam-app --name demo-event --output-file demo-event.json
  2. Das gemeinsam nutzbare Testereignis ändern — Verwenden Sie einen Texteditor Ihrer Wahl, um das gemeinsam nutzbare Testereignis zu ändern.

  3. Das gemeinsam nutzbare Testereignis hochladen — Verwenden Sie den sam remote test-event put Unterbefehl, um das gemeinsam nutzbare Testereignis hochzuladen und in der Schemaregistrierung zu speichern. EventBridge In diesem Beispiel verwenden wir die --force Option, um eine ältere Version unseres gemeinsam nutzbaren Tests zu überschreiben:

    $ sam remote test-event put HelloWorldFunction --stack-name sam-app --name demo-event --file demo-event.json --force
  4. Übergeben Sie das gemeinsam nutzbare Testereignis an Ihre Lambda-Funktion — Verwenden Sie den sam remote invoke Befehl, um das gemeinsam nutzbare Testereignis direkt an Ihre Lambda-Funktion zu übergeben in: AWS Cloud

    $ sam remote invoke HelloWorldFunction --stack-name sam-app --test-event-name demo-event