Was ist AWS Step Functions? - 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.

Was ist AWS Step Functions?

AWS Step Functions ist ein Serverless-Orchestrierungsservice, mit dem Sie in -AWS LambdaFunktionen und andere integrieren können, AWS-Services um geschäftskritische Anwendungen zu erstellen. Über die grafische Konsole von Step Functions sehen Sie den Workflow Ihrer Anwendung als eine Reihe von ereignisgesteuerten Schritten.

Step Functions basiert auf Zustandsautomaten und Aufgaben. In Step Functions wird ein Workflow als Zustandsautomat bezeichnet, bei dem es sich um eine Reihe ereignisgesteuerter Schritte handelt. Jeder Schritt in einem Workflow wird als Zustand bezeichnet. Ein -AufgabeStatus stellt eine Arbeitseinheit dar, die ein anderer AWS Service, z. B. AWS Lambda, ausführt. Ein Aufgabenstatus kann eine beliebige - AWS-Service oder -API aufrufen.

Mit den integrierten Steuerelementen von Step Functions überprüfen Sie den Status jedes Schritts in Ihrem Workflow, um sicherzustellen, dass Ihre Anwendung ordnungsgemäß und wie erwartet ausgeführt wird. Je nach Anwendungsfall können Sie Step Functions AWS Services wie Lambda aufrufen lassen, um Aufgaben auszuführen. Sie können Workflows erstellen, die Machine-Learning-Modelle verarbeiten und veröffentlichen. Sie können Step Functions- AWS Kontrollservices wie verwendenAWS Glue, um ETL-Workflows (Extract, Transform, Load) zu erstellen. Sie können auch lang andauernde, automatisierte Workflows für Anwendungen erstellen, die menschliche Interaktion erfordern.

Tipp

Informationen dazu, wie Sie sich über eine Reihe interaktiver Module mit den wichtigsten Funktionen von Step Functions vertraut machen, finden Sie unter Der - AWS Step Functions Workshop. Oder beginnen Sie mit der Verwendung von Step Functions, indem Sie die folgenden Erste-Schritte-Tutorials befolgen, um einen Workflow für Kreditkartenanwendungen zu erstellen.

AWS SDK und optimierte Integrationen

Um andere - AWS Services aufzurufen, können Sie AWS die SDK-Integrationen von Step Functions oder eine der optimierten Integrationen von Step Functions verwenden.

Standard- und Express-Workflows

Step Functions hat zwei Workflow-Typen. Standard-Workflows werden genau einmal ausgeführt und können bis zu ein Jahr lang ausgeführt werden. Das bedeutet, dass jeder Schritt in einem Standard-Workflow genau einmal ausgeführt wird. Express at-least-once -Workflows werden jedoch ausgeführt und können bis zu fünf Minuten lang ausgeführt werden. Das bedeutet, dass ein oder mehrere Schritte in einem Express-Workflow möglicherweise mehr als einmal ausgeführt werden können, während jeder Schritt im Workflow mindestens einmal ausgeführt wird.

Ausführungen sind Instances, in denen Sie Ihren Workflow ausführen, um Aufgaben auszuführen. Standard-Workflows eignen sich ideal für lang andauernde, überprüfbare Workflows, da sie den Ausführungsverlauf und das visuelle Debugging anzeigen. Express-Workflows eignen sich ideal für high-event-rate Workloads wie die Streaming-Datenverarbeitung und die IoT-Datenaufnahme.

Spezifikationen für Standard-Workflows

  • Ausführungsrate von 2 000 pro Sekunde

  • 4 000 Statusübergangsrate pro Sekunde

  • Preismodell nach Statusübergang

  • Anzeigen des Ausführungsverlaufs und des visuellen Debuggings

  • Alle Serviceintegrationen und -muster unterstützen

Spezifikationen für Express-Workflows

  • Ausführungsrate von 100 000 pro Sekunde

  • Fast unbegrenzte Zustandsübergangsrate

  • Preismodell nach Anzahl und Dauer der Ausführungen

  • Senden des Ausführungsverlaufs an Amazon CloudWatch

  • Anzeigen des Ausführungsverlaufs und des visuellen Debuggings basierend auf der aktivierten Protokollebene

  • Alle Serviceintegrationen und die meisten Muster unterstützen

Weitere Informationen zu Standard- und Express-Workflows, einschließlich der Preise für Step Functions, finden Sie im Folgenden:

Anwendungsfälle

Step Functions verwaltet die Komponenten und Logik Ihrer Anwendung, sodass Sie weniger Code schreiben und sich darauf konzentrieren können, Ihre Anwendung schnell zu erstellen und zu aktualisieren. In diesem Abschnitt werden typische Anwendungsfälle für die Arbeit mit Step Functions beschrieben.

Anwendungsfall 1: Funktionsorchestrierung


          Verkettung

Sie erstellen einen Workflow, der eine Gruppe von Lambda-Funktionen (Schritten) in einer bestimmten Reihenfolge ausführt. Die Ausgabe einer Lambda-Funktion wird an die Eingabe der nächsten Lambda-Funktion übergeben. Der letzte Schritt in Ihrem Workflow liefert ein Ergebnis. Mit Step Functions können Sie sehen, wie jeder Schritt in Ihrem Workflow miteinander interagiert, sodass Sie sicherstellen können, dass jeder Schritt seine beabsichtigte Funktion erfüllt.

Ein Tutorial, das Ihnen zeigt, wie Sie einen Zustandsautomaten mit einer Gruppe von Funktionen erstellen, finden Sie im Folgenden:

Anwendungsfall 2: Verzweigung


          Verzweigen

Ein Kunde fordert eine Erhöhung des Guthabenlimits an. Mithilfe eines -ChoiceZustands können Sie Step Functions basierend auf der Eingabe des Choice Zustands Entscheidungen treffen lassen. Wenn die Anforderung das vorab genehmigte Guthabenlimit Ihres Kunden überschreitet, können Sie Step Functions die Anforderung Ihres Kunden zur Abmeldung an einen Manager senden lassen. Wenn die Anforderung unter dem vorab genehmigten Guthabenlimit Ihres Kunden liegt, können Sie Step Functions die Anforderung automatisch genehmigen lassen.

Anwendungsfall 3: Fehlerbehandlung


          Wiederholen/Abfangen

Retry

In diesem Anwendungsfall fordert ein Kunde einen Benutzernamen an. Wenn die Anfrage Ihres Kunden zum ersten Mal nicht erfolgreich ist. Mithilfe einer -RetryAnweisung können Sie Step Functions die Anfrage Ihres Kunden erneut versuchen lassen. Wenn die Anfrage Ihres Kunden das zweite Mal erfolgreich ist.

Catch

In einem ähnlichen Anwendungsfall fordert ein Kunde einen nicht verfügbaren Benutzernamen an. Mithilfe einer -CatchAnweisung schlagen Step Functions einen verfügbaren Benutzernamen vor. Wenn Ihr Kunde den verfügbaren Benutzernamen verwendet, können Sie Step Functions mit dem nächsten Schritt in Ihrem Workflow fortfahren lassen, der das Senden einer Bestätigungs-E-Mail vorsieht. Wenn Ihr Kunde nicht den verfügbaren Benutzernamen verwendet, lassen Sie Step Functions zu einem anderen Schritt in Ihrem Workflow übergehen, um den Registrierungsprozess von vorne zu starten.

Ausführlichere Beispiele für - Retry und -CatchAnweisungen finden Sie im Folgenden:

Anwendungsfall 4: Mensch in der Schleife


          Verkettung

Mit einer Banking-App sendet einer Ihrer Kunden Geld an einen Freund. Ihr Kunde wartet auf eine Bestätigungs-E-Mail. Mit einem Rückruf und einem Aufgaben-Token weisen Sie Step Functions Lambda an, das Geld Ihres Kunden zu senden und es zu melden, wenn der Kunde ihn erhält. Nachdem Lambda gemeldet hat, dass der Kunde das Geld erhalten hat, können Sie Step Functions mit dem nächsten Schritt in Ihrem Workflow fortfahren lassen, der das Senden einer Bestätigungs-E-Mail an Ihren Kunden vorsieht.

Ein Beispielprojekt, das einen Rückruf mit einem Aufgaben-Token zeigt, finden Sie im Folgenden:

Anwendungsfall 5: Parallele Verarbeitung


          Parallelism

Ein Kunde konvertiert eine Videodatei in fünf verschiedene Bildschirmauflösungen, sodass Zuschauer das Video auf mehreren Geräten ansehen können. Mit einem -ParallelZustand gibt Step Functions die Videodatei ein, sodass Lambda sie gleichzeitig in die fünf Anzeigeauflösungen verarbeiten kann.

Anwendungsfall 6: Dynamische Parallelität


          Verkettung

Ein Kunde bestellt drei Artikel, und Sie müssen jeden Artikel für die Lieferung vorbereiten. Sie überprüfen die Verfügbarkeit jedes Artikels, sammeln jeden Artikel und verpacken dann jeden Artikel für die Lieferung. Mit einem -MapZustand lässt Step Functions Lambda alle Elemente Ihres Kunden parallel verarbeiten. Sobald alle Artikel Ihres Kunden für die Lieferung verpackt sind, geht Step Functions zum nächsten Schritt in Ihrem Workflow, bei dem Ihrem Kunden eine Bestätigungs-E-Mail mit Nachverfolgungsinformationen gesendet wird.

Ein Beispielprojekt, das dynamische Parallelität mit einem -MapZustand zeigt, finden Sie im Folgenden:

Service-Integrationen

Step Functions lässt sich in mehrere - AWS Services integrieren. Verwenden Sie die folgenden Serviceintegrationsmuster, um Step Functions mit diesen Services zu kombinieren:

Anfordern einer Antwort (Standard)
  • Rufen Sie einen Service auf und lassen Sie Step Functions in den nächsten Status übergehen, nachdem er eine HTTP-Antwort erhalten hat.

Ausführen eines Auftrags (.sync)
  • Rufen Sie einen Service auf und lassen Sie Step Functions warten, bis ein Auftrag abgeschlossen ist.

Warten Sie auf einen Rückruf mit einem Aufgaben-Token (.waitForTaskToken)
  • Rufen Sie einen Service mit einem Aufgaben-Token auf und lassen Sie Step Functions warten, bis das Aufgaben-Token mit einem Rückruf zurückgegeben wird.

Die folgende Tabelle zeigt die verfügbaren Serviceintegrationen und Serviceintegrationsmuster für Step Functions.

Standard-Workflows und Express-Workflows unterstützen dieselben Integrationen, jedoch nicht dieselben Integrationsmuster. Express-Workflows unterstützen weder „Auftrag ausführen“ (.sync) noch „Auf Rückruf warten“ (.waitForTaskToken). Die Unterstützung für optimierte Integrationsmuster ist für jede Integration unterschiedlich. Weitere Informationen finden Sie unter Standard- und Express-Workflows.

Standard Workflows
Unterstützte Service-Integrationen
Service Request Response (Antwort anfordern) Run a Job (Auftrag ausführen) (.sync) Wait for Callback (Auf Rückruf warten)(.waitForTaskToken)
Optimierte Integrationen Lambda
AWS Batch
DynamoDB
Amazon ECS/AWS Fargate
Amazon SNS
Amazon SQS
AWS Glue
SageMaker
Amazon EMR
Amazon EMR on EKS
Amazon EMR Serverless
CodeBuild
Athena
Amazon EKS
API Gateway
AWS Glue DataBrew
Amazon EventBridge
AWS Step Functions
AWS SDK-Integrationen Über zweihundert
Express Workflows

Unterstützte -Regionen

Die meisten AWS Regionen unterstützen Step Functions. Eine vollständige Liste der AWS Regionen, in denen Step Functions verfügbar ist, finden Sie in der AWS Regionstabelle .

Verwenden Sie Step Functions zum ersten Mal?

Wenn Sie Step Functions zum ersten Mal verwenden, helfen Ihnen die folgenden Themen dabei, verschiedene Teile der Arbeit mit Step Functions zu verstehen, einschließlich der Kombination von Step Functions mit anderen - AWS Services: