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.
Eine Step Functions Functions-Zustandsmaschine erstellen, die Lambda verwendet
In diesem Tutorial erstellen Sie einen einstufigen Workflow mit AWS Step Functions um eine aufzurufen AWS Lambda Funktion.
Anmerkung
Step Functions basiert auf Zustandsmaschinen und Aufgaben. In Step Functions werden Zustandsmaschinen als Workflows bezeichnet. Dabei handelt es sich um eine Reihe von ereignisgesteuerten Schritten. Jeder Schritt in einem Workflow wird als Status bezeichnet. Ein Aufgabenstatus steht beispielsweise für eine Arbeitseinheit und eine andere AWS führt einen Dienst aus, z. B. wenn er einen anderen aufruft AWS-Service oderAPI. Instanzen, in denen Workflows ausgeführt werden, die Aufgaben ausführen, werden in Step Functions als Ausführungen bezeichnet.
Weitere Informationen finden Sie unter:
Lambda eignet sich gut für Task
Staaten, da Lambda-Funktionen serverlos und einfach zu schreiben sind. Sie können Code schreiben in AWS Management Console oder dein Lieblingseditor. AWS kümmert sich um die Einzelheiten der Bereitstellung einer Computerumgebung für Ihre Funktion und deren Ausführung.
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 steht AWS Konto und AWS-Region als deine Staatsmaschine.
-
Öffnen Sie die Lambda-Konsole
und wählen Sie Create function. -
Wählen Sie auf der Seite Create function die Option Author from scratch.
-
Geben Sie für Function name (Funktionsname)
HelloFunction
ein. -
Behalten Sie die Standardauswahl für alle anderen Optionen bei und wählen Sie dann Funktion erstellen.
-
Nachdem Ihre Lambda-Funktion erstellt wurde, kopieren Sie den Amazon-Ressourcennamen (ARN) der Funktion, der in der oberen rechten Ecke der Seite angezeigt wird. Das Folgende ist ein Beispiel: ARN
arn:aws:lambda:us-east-1:123456789012:function:
HelloFunction
-
Kopieren Sie den folgenden Code für die Lambda-Funktion in den Abschnitt Codequelle der
HelloFunction
Seite.export const handler = async(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 übergebeneevent
-Objekt bereitgestellt wird. Sie fügen später Eingabedaten für diese Funktion hinzu, wenn Sie eine neue Ausführung starten. Diecallback
-Methode gibt die erstellte Grußformel aus Ihrer Funktion zurück. -
Wählen Sie Bereitstellen.
Schritt 2: Testen Sie die Lambda-Funktion
Testen Sie Ihre Lambda-Funktion, um zu sehen, wie sie funktioniert.
-
Wählen Sie Test aus.
-
Geben Sie für Event name (Ereignisname)
HelloEvent
ein. -
Ersetzen Sie die JSONEreignisdaten durch die folgenden.
{ "who": "AWS Step Functions" }
Der
"who"
Eintrag entspricht demevent.who
Feld in Ihrer Lambda-Funktion und vervollständigt die Begrüßung. Sie geben dieselben Eingabedaten ein, wenn Sie Ihre Zustandsmaschine ausführen. -
Wählen Sie Speichern und dann Test.
-
Erweitern Sie unter Execution result (Ausführungsergebnis) die Option Details, um die Testergebnisse anzuzeigen.
Schritt 3: Erstellen Sie eine Zustandsmaschine
Verwenden Sie die Step Functions Functions-Konsole, um eine Zustandsmaschine zu erstellen, die die Lambda-Funktion aufruft, die Sie in Schritt 1 erstellt haben.
-
Öffnen Sie die Step Functions Functions-Konsole
und wählen Sie Create State Machine. Wichtig
Stellen Sie sicher, dass sich Ihr Zustandsmaschine im selben Zustand befindet AWS Konto und Region als Lambda-Funktion, die Sie zuvor erstellt haben.
-
Wählen Sie im Dialogfeld Vorlage auswählen die Option Leer aus.
-
Wählen Sie „Auswählen“, um Workflow Studio in zu öffnenEntwurfsmodus.
-
Vergewissern Sie sich, dass Sie im States-Browser auf der linken Seite die Registerkarte Aktionen ausgewählt haben. Ziehen Sie dann per Drag & Drop die AWS Lambda Rufen Sie API den leeren Status mit der Bezeichnung Drag First state here auf.
-
Konfigurieren Sie im Inspektorfenster auf der rechten Seite die Lambda-Funktion:
-
Wählen Sie im Abschnitt APIParameter in der Dropdownliste Funktionsname die Lambda-Funktion aus, die Sie zuvor erstellt haben.
-
Behalten Sie die Standardauswahl in der Payload-Dropdown-Liste bei.
-
-
(Optional) Wählen Sie Definition, um die Definition der Zustandsmaschine Amazon States Language (ASL) anzuzeigen, die automatisch auf der Grundlage Ihrer Auswahl auf der Registerkarte Aktionen und im Inspektorfenster generiert wird.
-
Geben Sie einen Namen für Ihre Zustandsmaschine ein. Wählen Sie dazu das Bearbeitungssymbol neben dem Standardnamen der Zustandsmaschine von MyStateMachine. Geben Sie dann unter State-Machine-Konfiguration einen Namen in das Feld State-Machine-Name ein.
Geben Sie beispielsweise den Namen
LambdaStateMachine
ein.Anmerkung
Die Namen von Zustandsmaschinen, Ausführungen und Aktivitätsaufgaben dürfen nicht länger als 80 Zeichen sein. Diese Namen müssen für Ihr Konto eindeutig sein und AWS Region und darf keine der folgenden Angaben enthalten:
-
Leerraum
-
Platzhalterzeichen ()
? *
-
Klammerzeichen ()
< > { } [ ]
-
Sonderzeichen (
" # % \ ^ | ~ ` $ & , ; : /
) -
Steuerzeichen (
\\u0000
-\\u001f
oder\\u007f
-\\u009f
).
Step Functions akzeptiert Namen für Zustandsmaschinen, Ausführungen, Aktivitäten und Bezeichnungen, die ASCII Nichtzeichen enthalten. Da solche Zeichen nicht mit Amazon funktionieren, empfehlen wir CloudWatch, nur ASCII Zeichen zu verwenden, damit Sie die Messwerte verfolgen können CloudWatch.
-
-
(Optional) Geben Sie unter State-Machine-Konfiguration weitere Workflow-Einstellungen an, z. B. den Zustandsmaschinentyp und seine Ausführungsrolle.
Behalten Sie für dieses Tutorial alle Standardauswahlen in den State-Machine-Einstellungen bei.
-
Wählen Sie Create (Erstellen) aus.
-
Wählen Sie im Dialogfeld „Rollenerstellung bestätigen“ die Option „Bestätigen“, um fortzufahren.
Sie können auch Rolleneinstellungen anzeigen wählen, um zur State-Machine-Konfiguration zurückzukehren.
Anmerkung
Wenn Sie die von Step Functions erstellte IAM Rolle löschen, kann Step Functions sie später nicht mehr neu erstellen. Ebenso kann Step Functions ihre ursprünglichen Einstellungen später nicht wiederherstellen, wenn Sie die Rolle ändern (z. B. indem Sie Step Functions aus den Prinzipalen in der IAM Richtlinie entfernen).
Schritt 4: Führen Sie die Zustandsmaschine aus
Nachdem Sie Ihren Zustandsmaschine erstellt haben, können Sie ihn ausführen.
-
Wählen Sie auf der Seite State Machines die Option LambdaStateMachine.
-
Wählen Sie Start execution (Ausführung starten) aus.
Das Dialogfeld Ausführung starten wird angezeigt.
-
(Optional) Geben Sie einen benutzerdefinierten Ausführungsnamen ein, um den generierten Standard zu überschreiben.
ASCIINichtnamen und Protokollierung
Step Functions akzeptiert Namen für Zustandsmaschinen, Ausführungen, Aktivitäten und Bezeichnungen, die ASCII Nichtzeichen enthalten. Da solche Zeichen nicht mit Amazon funktionieren, empfehlen wir CloudWatch, nur ASCII Zeichen zu verwenden, damit Sie die Messwerte verfolgen können CloudWatch.
-
Ersetzen Sie im Eingabebereich die Ausführungsdaten des Beispiels durch die folgenden.
{ "who" : "AWS Step Functions" }
"who"
ist der Schlüsselname, den Ihre Lambda-Funktion verwendet, um den Namen der zu begrüßenden Person abzurufen. -
Wählen Sie Start Execution aus.
Die Ausführung Ihrer Zustandsmaschine wird gestartet, und eine neue Seite mit Ihrer laufenden Ausführung wird angezeigt.
-
Die Step Functions Functions-Konsole leitet Sie zu einer Seite weiter, die mit Ihrer Ausführungs-ID betitelt ist. Diese Seite wird als Seite mit den Ausführungsdetails bezeichnet. Auf dieser Seite können Sie die Ausführungsergebnisse im Verlauf oder nach Abschluss der Ausführung überprüfen.
Um die Ausführungsergebnisse zu überprüfen, wählen Sie in der Diagrammansicht einzelne Status aus und wählen Sie dann die einzelnen Registerkarten im Einzelheiten zu den Schritten Bereich, um die Details der einzelnen Status, einschließlich Eingabe, Ausgabe und Definition, anzuzeigen. Einzelheiten zu den Ausführungsinformationen, die Sie auf der Seite mit den Ausführungsdetails einsehen können, finden Sie unterÜberblick über die Ausführungsdetails.
Anmerkung
Sie können auch Nutzlasten übergeben, während Sie Lambda von einer Zustandsmaschine aufrufen. Weitere Informationen und Beispiele zum Aufrufen von Lambda durch Übergabe von Nutzdaten in das Parameters
Feld finden Sie unter. Rufen Sie eine auf AWS Lambda Funktion mit Step Functions