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-Zustandsmaschine, die Lambda verwendet
In diesem Tutorial erstellen Sie einen einstufigen Workflow, der AWS Step Functions zum Aufrufen einer Funktion verwendet wird. AWS Lambda
Anmerkung
Step Functions basiert auf Zustandsautomaten und Aufgaben. In Step Functions werden Zustandsmaschinen als Workflows bezeichnet. Dabei handelt es sich um eine Reihe ereignisgesteuerter Schritte. Jeder Schritt in einem Workflow wird als Zustand bezeichnet. Ein Aufgabenstatus steht beispielsweise für eine Arbeitseinheit, die ein anderer AWS Dienst ausführt, z. B. den Aufruf eines anderen Dienstes AWS-Service oder einer API. Instanzen laufender Workflows, in denen Aufgaben ausgeführt werden, 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 im AWS-Managementkonsole oder in Ihrem bevorzugten Editor schreiben. AWS kümmert sich um die Details 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 sich Ihre Lambda-Funktion unter demselben AWS Konto und AWS-Region wie Ihre Zustandsmaschine befindet.
-
Öffnen Sie die Lambda-Konsole
und wählen Sie Funktion erstellen. -
Wählen Sie auf der Seite Create function die Option Author from scratch.
-
Geben Sie für Function name (Funktionsname)
HelloFunctionein. -
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 angezeigten Amazon-Ressourcennamen (ARN) der Funktion. Das Folgende ist ein Beispiel für eine ARN:
arn:aws:lambda:region:123456789012:function:HelloFunction -
Kopieren Sie den folgenden Code für die Lambda-Funktion in den Codequellbereich der
HelloFunctionSeite.export const handler = async (event) => { return "Hello from " + event.who + "!"; };Dieser Code erstellt eine Grußformel aus dem Feld
whoder 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. Die Funktion gibt die zusammengestellte Begrüßung als Ausgabe 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)
HelloEventein. -
Ersetzen Sie die Event-JSON-Daten durch Folgendes.
{ "who": "AWS Step Functions" }Der
"who"Eintrag entspricht demevent.whoFeld in Ihrer Lambda-Funktion und vervollständigt die Begrüßung. Sie geben dieselben Eingabedaten ein, wenn Sie Ihren State Machine ausführen. -
Wählen Sie Speichern und dann Testen.
-
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-Konsole, um eine Zustandsmaschine zu erstellen, die die in Schritt 1 erstellte Lambda-Funktion aufruft.
-
Öffnen Sie die Step Functions-Konsole
, wählen Sie im Menü die Option State Machines und anschließend Create State Machine aus. Wichtig
Stellen Sie sicher, dass sich Ihr State Machine unter demselben AWS Konto und derselben Region wie die Lambda-Funktion befindet, die Sie zuvor erstellt haben.
-
Wählen Sie Aus leerem Feld erstellen.
-
Benennen Sie Ihren Zustandsmaschinen und wählen Sie dann Weiter, um Ihren Zustandsmaschine in Workflow Studio zu bearbeiten.
-
Vergewissern Sie sich, dass Sie im Statusbrowser auf der linken Seite die Registerkarte Aktionen ausgewählt haben. Ziehen Sie dann die AWS Lambda Invoke-API per Drag-and-Drop in den leeren Status mit der Bezeichnung Erster Status hierher ziehen.
-
Konfigurieren Sie im Bereich „Inspektor“ Inspector-Bereich auf der rechten Seite die Lambda-Funktion:
-
Wählen Sie im Abschnitt API-Parameter die Lambda-Funktion aus, die Sie zuvor in der Dropdownliste Funktionsname erstellt haben.
-
Behalten Sie die Standardauswahl in der Dropdownliste Payload bei.
-
-
(Optional) Wählen Sie Definition, um die Definition der State Machine Sprache der Amazonas-Staaten (ASL) anzuzeigen, die automatisch auf der Grundlage Ihrer Auswahl auf der Registerkarte „Aktionen“ und im Bereich „Inspector“ generiert wird.
-
Geben Sie einen Namen für Ihren State Machine an. Wählen Sie dazu das Bearbeitungssymbol neben dem Standard-State-Machine-Namen von MyStateMachine. Geben Sie dann unter State Machine Configuration einen Namen in das Feld State Machine Name ein.
Geben Sie beispielsweise den Namen
LambdaStateMachineein.Anmerkung
Die Namen von Zustandsautomaten, Ausführungen und Aktivitätsaufgaben dürfen eine Länge von 80 Zeichen nicht überschreiten. Diese Namen müssen für Ihr Konto und Ihre AWS Region eindeutig sein und dürfen keines der folgenden Elemente enthalten:
-
Leerzeichen
-
Platzhalterzeichen ()
? * -
Klammerzeichen ()
< > { } [ ] -
Sonderzeichen (
" # % \ ^ | ~ ` $ & , ; : /) -
Steuerzeichen (
\\u0000-\\u001foder\\u007f-\\u009f).
Step Functions akzeptiert Namen für Zustandsautomaten, Ausführungen, Aktivitäten und Bezeichnungen, die Nicht-ASCII-Zeichen enthalten. Da solche Zeichen verhindern, dass Amazon Daten protokolliert, empfehlen wir, nur ASCII-Zeichen zu verwenden, damit Sie die Metriken CloudWatch von Step Functions verfolgen können.
-
-
(Optional) Geben Sie in der State-Machine-Konfiguration weitere Workflow-Einstellungen an, z. B. den Zustandsmaschinentyp und dessen Ausführungsrolle.
Behalten Sie für dieses Tutorial alle Standardauswahlen in den State-Machine-Einstellungen bei.
-
Wählen Sie 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 erneut erstellen. Ebenso kann Step Functions die ursprünglichen Einstellungen später nicht wiederherstellen, wenn Sie die Rolle ändern (z. B. indem Sie Step Functions aus den Principals in der IAM-Richtlinie entfernen).
Schritt 4: Führen Sie den State Machine aus
Nachdem Sie Ihre Zustandsmaschine erstellt haben, können Sie sie 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.
Non-ASCII Namen und Protokollierung
Step Functions akzeptiert Namen für Zustandsautomaten, Ausführungen, Aktivitäten und Bezeichnungen, die Nicht-ASCII-Zeichen enthalten. Da solche Zeichen verhindern, dass Amazon Daten protokolliert, empfehlen wir, nur ASCII-Zeichen zu verwenden, damit Sie die Metriken CloudWatch von Step Functions verfolgen können.
-
Ersetzen Sie im Eingabebereich die Beispiel-Ausführungsdaten 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 beginnt und eine neue Seite mit Ihrer laufenden Ausführung wird angezeigt.
-
Die Step 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 überprüfen, während die Ausführung voranschreitet oder nachdem sie abgeschlossen ist.
Um die Ausführungsergebnisse zu überprüfen, wählen Sie in der Diagrammansicht einzelne Bundesstaaten aus. Wählen Sie dann die einzelnen Registerkarten im Einzelheiten zu den Schritten Bereich aus, um die Details der einzelnen Bundesstaaten 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 Payloads auch übergeben, während Sie Lambda von einer Zustandsmaschine aus aufrufen. Weitere Informationen und Beispiele zum Aufrufen von Lambda durch Übergeben von Nutzdaten in das Feld finden Sie unter. Parameters Rufen Sie eine auf AWS Lambda Funktion mit Step Functions