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 Functionsist ein serverloser Orchestrierungsdienst, mit dem SieAWS LambdaFunktionen und andereAWS-Servicesum 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. Eine Zustandsmaschine ist ein Workflow. Eine Aufgabe ist ein Zustand in einem Workflow, der eine einzelne Arbeitseinheit darstellt und eine andereAWSDienst führt aus. Jeder Schritt in einem Workflow ist ein Zustand.

Mit den integrierten Steuerelementen von Step Functions überprüfen Sie den Status jedes Schritts in Ihrem Workflow, um sicherzustellen, dass Ihre Anwendung in der richtigen Reihenfolge und wie erwartet ausgeführt wird. Je nach Anwendungsfall können Sie Step Functions aufrufenAWSDienste wie Lambda zur Ausführung von Aufgaben. Sie können Workflows erstellen, die Machine-Learning-Modelle verarbeiten und veröffentlichen. Sie können Step Functions steuernAWSDienste, wieAWS Glue, um ETL-Workflows (Extract, Transform, Laden) zu erstellen. Sie können auch lang andauernde, automatisierte Workflows für Anwendungen erstellen, die menschliche Interaktion erfordern.

AWSSDK und optimierte Integrationen

Um andere anzurufenAWSDienste können Sie Step Functions verwendenAWSSDK-Integrationen, oder Sie können eine der optimierten Integrationen von Step Functions verwenden.

Standard und Express-Workflows

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

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

StandardWorkflows

  • Ausführungsrate von 2.000 pro Sekunde

  • Übergangsrate von 4.000 pro Sekunde

  • Preis pro Zustandsübergang

  • Zeigt Ausführungsverlauf und visuelles Debugging an

  • Unterstützt alle Service-Integrationen und Muster

Express-Workflows

  • Ausführungsrate von 100 000 pro Sekunde

  • Nahezu unbegrenzte Übergangsrate

  • Preis pro Anzahl und Dauer der Ausführungen

  • Sendet den Ausführungsverlauf anAmazon CloudWatch

  • Unterstützt alle Service-Integrationen und die meisten Patterns

Weitere Informationen über Standard- und Express-Workflows, einschließlich der Preise Step Functions, finden Sie unter:

Anwendungsfälle

Step Functions verwaltet die Komponenten und die 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: Orchestrierung von Funktionen


          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 veranschaulicht, wie Sie einen Zustandsautomaten mit einer Gruppe von Funktionen erstellen, finden Sie in den folgenden Themen:

Anwendungsfall #2: Verzweigen


          Verzweigen

Ein Kunde beantragt eine Erhöhung des Kreditlimits. Verwenden von einemChoicekönnen Sie Step Functions Entscheidungen basierend auf demChoiceBeitrag des Staates. Wenn die Anfrage das vorab genehmigte Kreditlimit Ihres Kunden überschreitet, können Sie Step Functions die Anfrage Ihres Kunden zur Genehmigung an einen Manager senden lassen. Wenn die Anfrage unter dem vorab genehmigten Kreditlimit Ihres Kunden liegt, können Sie die Anfrage von Step Functions automatisch genehmigen lassen.

Anwendungsfall #3: Fehlerbehandlung


          Wiederholen/Abfangen

Retry

In diesem Anwendungsfall fordert ein Kunde einen Benutzernamen an. Beim ersten Mal ist die Anfrage Ihres Kunden nicht erfolgreich. Verwenden von einemRetrykönnen Sie Step Functions die Anfrage Ihres Kunden erneut versuchen lassen. Beim zweiten Mal ist die Anfrage Ihres Kunden erfolgreich.

Catch

In einem ähnlichen Anwendungsfall fordert ein Kunde einen nicht verfügbaren Benutzernamen an. Verwenden von einemCatchAnweisung, Sie haben Step Functions einen verfügbaren Benutzernamen vorschlagen. Wenn Ihr Kunde den verfügbaren Benutzernamen verwendet, können Sie Step Functions veranlassen, mit dem nächsten Schritt in Ihrem Workflow fortzufahren, nämlich dem Senden einer Bestätigungs-E-Mail. Wenn Ihr Kunde den verfügbaren Benutzernamen nicht verwendet, müssen Sie Step Functions zu einem anderen Schritt in Ihrem Workflow wechseln, nämlich den Anmeldevorgang erneut zu starten.

Für detailliertere Beispiele vonRetryundCatchAnweisungen, siehe die folgenden:

Anwendungsfall #4: Der Mensch auf dem Laufenden


          Verkettung

Mit einer Banking-App sendet einer Ihrer Kunden Geld an einen Freund. Ihr Kunde wartet auf eine Bestätigungs-E-Mail. mitein Callback und ein Task-Tokenhaben Sie Step Functions, die Lambda anweisen, das Geld Ihres Kunden zu senden und sich zu melden, wenn der Freund Ihres Kunden es erhält. Nachdem Lambda zurückgemeldet hat, dass der Freund Ihres Kunden das Geld erhalten hat, können Sie Step Functions zum nächsten Schritt in Ihrem Workflow übergehen lassen, nämlich Ihrem Kunden eine Bestätigungs-E-Mail zu senden.

Ein Beispielprojekt, das einen Callback mit einem Task-Token anzeigt, 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. Verwenden von einemParallelstate, Step Functions gibt die Videodatei ein, sodass Lambda sie gleichzeitig in die fünf Bildschirmauflösungen verarbeiten kann.

Anwendungsfall #6: Dynamische Parallelverarbeitung


          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. Verwenden von einemMapstate, Step Functions lässt Lambda jeden Artikel 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 über, nämlich dem Senden einer Bestätigungs-E-Mail mit Tracking-Informationen an Ihren Kunden.

So zeigen Sie ein Beispielprojekt an, das dynamische Parallelität mit einemMapstate, siehe Folgendes:

Service-Integrationen

Step Functions integriert sich in mehrereAWSDienstleistungen. Um Step Functions mit diesen Diensten zu kombinieren, verwenden Sie die folgenden Service-Integrationsmuster:

Antwort anfordern (Standard)

  • Rufen Sie einen Dienst auf und lassen Sie Step Functions in den nächsten Status übergehen, nachdem er eine HTTP-Antwort erhalten hat.

Einen Job ausführen (.sync)

  • Rufen Sie einen Dienst auf und lassen Sie Step Functions warten, bis ein Auftrag abgeschlossen ist.

Warte auf einen Rückruf mit einem Task-Token (.waitForTaskToken)

  • Rufen Sie einen Dienst mit einem Task-Token auf und lassen Sie Step Functions warten, bis das Task-Token mit einem Rückruf

Die folgende Tabelle zeigt die verfügbaren Service-Integrationen und Service-Integrationsmuster für Step Functions.

Standard-Workflows und Express-Workflows unterstützen dieselben Integrationen, unterstützen jedoch nicht dieselben Integrationsmuster. Express-Workflows unterstützen weder Job ausführen (.sync) noch Warten auf Rückruf (.waitForTaskToken). Die Pattern-Unterstützung für optimierte Integrationen ist für jede Integration unterschiedlich. Weitere Informationen finden Sie unter Standard vs. 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 in EKS
CodeBuild
Athena
Amazon EKS
API Gateway
AWS Glue DataBrew
Amazon EventBridge
AWS Step Functions
AWSSDK-Integrationen Über zweihundert
Express Workflows

Unterstützte Regionen

Die meistenAWSRegionen unterstützen Step Functions. Für eine vollständige Liste derAWSRegionen, in denen Step Functions verfügbar ist, siehe dieAWSRegionen-Tabelle.

Verwenden Sie Step Functions zum ersten Mal?

Wenn Sie Step Functions zum ersten Mal verwenden, helfen Ihnen die folgenden Themen dabei, verschiedene Aspekte der Arbeit mit Step Functions zu verstehen, einschließlich der Kombination von Step Functions mit anderenAWSDienstleistungen: