Erstellen einer Step Functions State Machine, die Lambda verwendet - AWS Step Functions

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.

Erstellen einer Step Functions State Machine, die Lambda verwendet

In diesem Tutorial erstellen Sie einen Einzel-Step Workflow, indem SieAWS Step Functionsum einenAWS Lambda-Funktion.

Anmerkung

In Step Functions wird ein Workflow alsZustandsautomaten, bei dem es sich um eine Reihe von ereignisgesteuerten Schritten handelt. Jeder Schritt in einem Workflow wird alsBundesstaat. EINTaskStaat repräsentiert eine Arbeitseinheit, die ein andererAWSService, wieAWS Lambda, führt durch. EINTaskStaat kann jeden anrufenAWSService oder API. Weitere Informationen finden Sie unter:

Lambda eignet sich ideal fürTaskgibt an, weil Lambda-Funktionenserverlosund einfach zu schreiben. Sie können Code in der AWS Management Console oder in Ihrem bevorzugten Editor schreiben. AWS übernimmt die Bereitstellung einer Datenverarbeitungsumgebung, in der Ihre Funktion ausgeführt wird.

Schritt 1: Erstellen einer Lambda-Funktion

Ihre Lambda-Funktion empfängt Ereignisdaten und gibt eine Begrüßungsnachricht zurück.

Wichtig

Stellen Sie sicher, dass Ihre Lambda-Funktion unter derselben stehtAWS-Konto undAWSRegion als Ihre -State Machine.

  1. Öffnen derLambda-Konsoleund wähleCreate Function.

  2. Wählen Sie auf der Seite Create function die Option Author from scratch.

  3. In derGrundlegende Informationenkonfigurieren Sie Ihre Lambda-Funktion:

    1. Geben Sie für Function name (Funktionsname) HelloFunction ein.

    2. FürLaufzeit, wählenNode.js 14.x.

    3. InStandardeausführungsrolle ändern, wählenErstellen Sie eine neue Rolle mit den grundlegenden Lambda-Berechtigungen.

    4. Wählen Sie Create function (Funktion erstellen).

    5. Nachdem Sie Ihre Lambda-Funktion erstellt haben, kopieren Sie den Amazon Resource Name (ARN), der in der oberen rechten Ecke der Seite angezeigt wird. Um den ARN zu kopieren, klicken Sie 
                                        copy Amazon Resource Name
                                    . Das Folgende ist ein Beispiel für ARN:

      arn:aws:lambda:us-east-1:123456789012:function:HelloFunction
  4. Kopieren Sie den folgenden Code für die Lambda-FunktionCode-Quelleaus. Abschnitt derHelloFunctionSeite.

    exports.handler = (event, context, callback) => { callback(null, "Hello from " + event.who + "!"); };

    Dieser Code erstellt eine Grußformel aus dem Feld who der Eingabedaten, die durch das in Ihre Funktion übergebene event-Objekt bereitgestellt wird. Sie fügen später Eingabedaten für diese Funktion hinzu, wenn Sie eine neue Ausführung starten. Die callback-Methode gibt die erstellte Grußformel aus Ihrer Funktion zurück.

  5. Wählen Sie Deploy (Bereitstellen) aus.

Schritt 2: Lambda-Funktion testen

Testen Sie Ihre Lambda-Funktion, um sie in Betrieb zu sehen.

  1. Wählen Sie Test aus.

  2. In derKonfigurieren der TestereignisseDialogfeld, geben SieHelloEventin derEvent name (Ereignisname)Kiste.

  3. Ersetzen Sie die Beispieldaten durch Folgendes.

    { "who": "AWS Step Functions" }

    Die"who"Eintrag entspricht derevent.whoFeld in Ihrer Lambda-Funktion, um die Begrüßung zu vervollständigen. Sie geben dieselben Eingabedaten ein, wenn Sie Ihre Zustandsmaschine ausführen.

  4. Wählen Sie Create (Erstellen) aus.

  5. Auf derHelloFunctionSeite, wählenTestenum Ihre Lambda-Funktion anhand der neuen Daten zu testen.

    Die Ergebnisse des Tests werden in derErgebnisse der AusführungTabulator.

  6. Wählen Sie dasErgebnisse der Ausführungum die Ausgabe anzuzeigen.

Schritt 3: Erstellen eines Zustandsautomaten

Verwenden derStep Functions Konsoleum einen -Zustandsautomaten erstellen, derdie Lambda-Funktion, die Sie zuvor in Step 1 erstellt haben.

  1. Öffnen derStep Functions Konsoleund wähleCreate State Machine.

    Wichtig

    Stellen Sie sicher, dass sich Ihre Zustandsmaschine unter derselben befindetAWSaccount und Region als Lambda-Funktion, die Sie zuvor erstellt haben.

  2. Auf derWählen der Authoring-MethodeSeite, wählenGestalte deinen Workflow visuell.

  3. FürTyp, behalten Sie die Standardauswahl bei, das heißtStandard.

  4. Wählen Sie Next (Weiter). Dadurch wird Workflow Studio geöffnet.

  5. Wählen Sie im Status-Browser auf der linken Seite „Status“ die OptionAktionenbereich.

    1. Ziehen Sie denAWS LambdaAufrufenAPI in den leeren Zustand mit der BezeichnungZiehe den ersten Status hier.

      
                                    Staaten-Browser
  6. In derInspectorauf der rechten Seite, konfigurieren Sie die Lambda-Funktion und ihren Namen:

    1. WählenKonfiguration, und bearbeiten Sie dann dieName des Status Status, falls erforderlich.

    2. In derAPI-ParameterAbschnitt, wählendie Lambda-Funktion, die Sie zuvor erstellt habenin derFunktionsnameDropdown-Liste.

    3. Behalten Sie die Standardauswahl imNutzlastDropdown-Liste.

  7. Wählen Sie Next (Weiter).

  8. Auf derÜberprüfen des generierten Codesüberprüfen Sie die Amazon States Language (ASL) -Definition der State Machine, die automatisch basierend auf Ihren Auswahlen in derAktionenundInspectorbereich.

  9. Wählen Sie Next (Weiter).

  10. Geben Sie unter Name for your state machine (Name für Ihren Zustandsautomaten) einen Namen für Ihren Zustandsautomaten ein, z. B. LambdaStateMachine.

    Anmerkung

    State Machine-, Ausführungs- und Aktivitätsnamen müssen 1—80 Zeichen lang sein, müssen für Ihr Konto eindeutig sein undAWSRegion und darf keines der folgenden Elemente enthalten:

    • Whitespace

    • Platzhalterzeichen ()? *)

    • Klammerzeichen (< > { } [ ])

    • Sonderzeichen (: ; , \ | ^ ~ $ # % & ` ")

    • Kontrollzeichen (Charaktere)\\u0000-\\u001foder\\u007f-\\u009f) enthalten.

    Mit Step Functions können Sie Zustandsautomaten-, Ausführungs- und Aktivitätsnamen erstellen, die Nicht-ASCII-Zeichen enthalten. Diese Nicht-ASCII-Namen funktionieren nicht mit Amazon CloudWatch. Um sicherzustellen, dass Sie verfolgen können CloudWatch Metriken, wählen Sie einen Namen, der nur ASCII-Zeichen verwendet.

  11. InAusführungsrolle, unter derBerechtigungenAbschnitt, wählenNeue Rolle erstellen.

  12. Wählen Sie Create State Machine (Zustandsautomaten erstellen).

Schritt 4: Starten einer neuen Ausführung

Nach dem Erstellen des Zustandsautomaten starten Sie eine Ausführung.

  1. Auf derLambdaStateMachineSeite, wählenStarten der Ausführung.

    DieStarten der Ausführungwird angezeigt.

  2. (Optional) Um Ihre Ausführung zu identifizieren, können Sie einen Namen dafür in derNameKiste. Standardmäßig generiert Step Functions automatisch einen eindeutigen Ausführungsnamen.

    Anmerkung

    Mit Step Functions können Sie Zustandsautomaten-, Ausführungs- und Aktivitätsnamen erstellen, die Nicht-ASCII-Zeichen enthalten. Diese Nicht-ASCII-Namen funktionieren nicht mit Amazon CloudWatch. Um sicherzustellen, dass Sie verfolgen können CloudWatch Metriken, wählen Sie einen Namen, der nur ASCII-Zeichen verwendet.

  3. Ersetzen Sie im Ausführungs-Eingabebereich die Beispieldaten durch folgende Daten.

    { "who" : "AWS Step Functions" }

    "who"ist der Schlüsselname, den Ihre Lambda-Funktion verwendet, um den Namen der Person abzurufen, die begrüßt werden soll.

  4. Wählen Sie Start Execution aus.

    Eine neue Ausführung Ihres Zustandsautomaten startet und eine neue Seite mit Ihrer laufenden Ausführung wird angezeigt.

  5. Um die Ergebnisse Ihrer Ausführung anzuzeigen, wählen Sie die OptionExecution OutputTabulator.

Anmerkung

Sie können auch Payloads übergeben, während Sie Lambda von einer Zustandsmaschine aufrufen. Weitere Informationen und Beispiele zum Aufrufen von Lambda durch Übergeben von Payload finden Sie in derParametersaus, siehe aus.Rufen Sie Lambda mit Step Functions auf.