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.
Verwenden AWS CDK , um einen Standard-Workflow in Step Functions zu erstellen
Sie können das AWS Cloud Development Kit (AWS CDK) Infrastructure as Code (IAC) -Framework verwenden, um eine AWS Step Functions Zustandsmaschine zu erstellen, die eine AWS Lambda Funktion enthält.
Sie definieren die AWS Infrastruktur in einer CDK der unterstützten Sprachen. Nachdem Sie Ihre Infrastruktur definiert haben, synthetisieren Sie Ihre App zu einer AWS CloudFormation Vorlage und stellen sie in Ihrem AWS Konto bereit.
Mit dieser Methode definieren Sie eine Step Functions-Zustandsmaschine, die eine Lambda-Funktion enthält, und führen dann die Zustandsmaschine mithilfe der Step Functions AWS Management Console aus.
Bevor Sie mit diesem Tutorial beginnen, müssen Sie Ihre AWS CDK Entwicklungsumgebung wie unter Erste Schritte mit den AWS CDK — Voraussetzungen im AWS Cloud Development Kit (AWS CDK) Entwicklerhandbuch beschrieben einrichten. Installieren Sie dann das AWS CDK mit dem folgenden Befehl unterAWS CLI:
npm install -g aws-cdk
Dieses Tutorial liefert das gleiche Ergebnis wieVerwenden AWS CloudFormation , um einen Workflow in Step Functions zu erstellen. In diesem Tutorial müssen Sie jedoch AWS CDK keine IAM Rollen erstellen, der AWS CDK erledigt das für Sie. Die AWS CDK Version enthält auch einen Workflow-Status „Erfolgreich“ Schritt, der veranschaulicht, wie Sie Ihrer Zustandsmaschine zusätzliche Schritte hinzufügen können.
Tipp
Informationen zum Bereitstellen einer serverlosen Beispielanwendung, die einen Step Functions Workflow AWS CDK mit mit startet TypeScript, finden Sie unter Deploy with AWS CDK
Schritt 1: Einrichten des Projekts AWS CDK
-
Führen Sie in Ihrem Home-Verzeichnis oder, falls Sie es vorziehen, in einem anderen Verzeichnis den folgenden Befehl aus, um ein Verzeichnis für Ihre neue AWS CDK App zu erstellen.
Wichtig
Achten Sie darauf, dem Verzeichnis einen Namen zu geben
step
. Die AWS CDK Anwendungsvorlage verwendet den Namen des Verzeichnisses, um Namen für Quelldateien und Klassen zu generieren. Wenn Sie einen anderen Namen verwenden, wird Ihre App nicht mit diesem Lernprogramm übereinstimmen. -
Initialisieren Sie die App mit dem Befehl cdk init. Geben Sie die gewünschte Vorlage („App“) und die gewünschte Programmiersprache an, wie in den folgenden Beispielen gezeigt.
Schritt 2: Verwenden Sie diese OptionAWS CDK, um eine Zustandsmaschine zu erstellen
Zunächst stellen wir die einzelnen Codeteile vor, die die Lambda Funktion und die Step Functions Zustandsmaschine definieren. Dann erklären wir, wie Sie sie in Ihrer AWS CDK App zusammenfügen. Schließlich erfahren Sie, wie Sie diese Ressourcen synthetisieren und einsetzen können.
So erstellen Sie eine Lambda-Funktion
Der folgende AWS CDK Code definiert die Lambda Funktion und stellt ihren Quellcode inline bereit.
Sie können in diesem kurzen Beispielcode sehen:
-
Der logische Name der Funktion,
MyLambdaFunction
. -
Der Quellcode für die Funktion, eingebettet als Zeichenfolge in den Quellcode der AWS CDK App.
-
Andere Funktionsattribute, wie die zu verwendende Laufzeit (Node 18.x), der Einstiegspunkt der Funktion und ein Timeout.
Erstellen eines -Zustandsautomaten
Unsere Zustandsmaschine hat zwei Zustände: eine Lambda Funktionsaufgabe und einen Workflow-Status „Erfolgreich“ Status. Die Funktion erfordert, dass wir eine erstellen Step FunctionsWorkflow-Status der Aufgabe, die unsere Funktion aufruft. Dieser Task-Status wird als erster Schritt in der Zustandsmaschine verwendet. Der Erfolgsstatus wird der Zustandsmaschine mithilfe der next()
Methode des Task-Status hinzugefügt. Der folgende Code ruft zuerst die angegebene Funktion auf und verwendet dann die next()
MethodeMyLambdaTask
, um einen Erfolgsstatus mit dem Namen GreetedWorld
zu definieren.
Um die App zu erstellen und bereitzustellen AWS CDK
Bearbeiten Sie in Ihrem neu erstellten AWS CDK Projekt die Datei, die die Definition des Stacks enthält, sodass sie wie im folgenden Beispielcode aussieht. Sie kennen die Definitionen der Lambda Funktion und der Step Functions Zustandsmaschine aus den vorherigen Abschnitten.
-
Aktualisieren Sie den Stack wie in den folgenden Beispielen gezeigt.
-
Speichern Sie die Quelldatei und führen Sie dann den
cdk synth
Befehl im Hauptverzeichnis der App aus.AWS CDKführt die App aus und synthetisiert daraus eine AWS CloudFormation Vorlage. AWS CDKzeigt dann die Vorlage an.
Anmerkung
Wenn Sie Ihr AWS CDK Projekt TypeScript früher erstellt haben, kann beim Ausführen des
cdk synth
Befehls der folgende Fehler zurückgegeben werden.TSError: ⨯ Unable to compile TypeScript: bin/step.ts:7:33 - error TS2554: Expected 2 arguments, but got 3.
Ändern Sie die
bin/step.ts
Datei wie im folgenden Beispiel gezeigt, um diesen Fehler zu beheben.#!/usr/bin/env node import 'source-map-support/register'; import * as cdk from 'aws-cdk-lib'; import { StepStack } from '../lib/step-stack'; const app = new cdk.App(); new StepStack(app, 'StepStack'); app.synth();
-
Um die Lambda-Funktion und die Step Functions Functions-Zustandsmaschine für Ihr AWS Konto bereitzustellen, geben
cdk deploy
Sie Folgendes ein. Sie werden aufgefordert, die von ihm generierten IAM-Richtlinien zu genehmigen. AWS CDK
Schritt 3: Starten Sie eine State-Machine-Ausführung
Nachdem Sie Ihre Zustandsmaschine erstellt haben, können Sie deren Ausführung starten.
Starten der Ausführung des Zustandsautomaten
-
Öffnen Sie die Step Functions Functions-Konsole
und wählen Sie den Namen der Zustandsmaschine aus, mit der Sie erstellt habenAWS CDK. -
Wählen Sie auf der State-Machine-Seite die Option 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.
Nicht-ASCII-Namen und Protokollierung
Step Functions akzeptiert Namen für Zustandsmaschinen, Ausführungen, Aktivitäten und Labels, die Nicht-ASCII-Zeichen enthalten. Da solche Zeichen mit Amazon nicht funktionieren, empfehlen wir CloudWatch, nur ASCII-Zeichen zu verwenden, damit Sie die Messwerte verfolgen können. CloudWatch
-
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.
Schritt 4: Bereinigen
Nachdem Sie Ihre Zustandsmaschine getestet haben, empfehlen wir Ihnen, sowohl Ihre Zustandsmaschine als auch die zugehörige Lambda-Funktion zu entfernen, um Ressourcen in Ihrem AWS-Konto freizugeben. Führen Sie den cdk destroy
Befehl im Hauptverzeichnis Ihrer App aus, um Ihre Zustandsmaschine zu entfernen.
Nächste Schritte
Weitere Informationen zur Entwicklung von AWS Infrastrukturen mithilfe von Cookies AWS CDK finden Sie im AWS CDKEntwicklerhandbuch.
Informationen zum Schreiben von AWS CDK-Apps in der Sprache Ihrer Wahl finden Sie unter:
Weitere Informationen zu den in diesem Tutorial verwendeten AWS Construct Library-Modulen finden Sie in den folgenden AWS CDK API-Referenzübersichten: