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

Mit können Sie Workflows AWS Step Functions, auch Zustandsmaschinen genannt, erstellen, um verteilte Anwendungen zu erstellen, Prozesse zu automatisieren, Microservices zu orchestrieren und Daten- und Machine-Learning-Pipelines zu erstellen.

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, die ein anderer AWS Dienst ausführt, z. B. das Aufrufen eines anderen AWS -Service oderAPI. Instanzen, in denen Workflows ausgeführt werden, die Aufgaben ausführen, werden in Step Functions als Ausführungen bezeichnet.

Illustratives Beispiel für ein Step Functions Functions-Workflow-Diagramm.

In der Step Functions Functions-Konsole können Sie den Arbeitsablauf Ihrer Anwendung visualisieren, bearbeiten und debuggen. Sie können den Status jedes Schritts in Ihrem Workflow überprüfen, um sicherzustellen, dass Ihre Anwendung in der richtigen Reihenfolge und wie erwartet ausgeführt wird.

Je nach Anwendungsfall können Sie Step Functions AWS Dienste wie Lambda aufrufen lassen, um Aufgaben auszuführen. Sie können Step Functions AWS Dienste steuern lassen, z. B. AWS Glue zum Erstellen von Extraktions-, Transformations- und Ladeworkflows. Sie können auch lang andauernde, automatisierte Workflows für Anwendungen erstellen, die menschliche Interaktion erfordern.

Eine vollständige Liste der AWS Regionen, in denen Step Functions verfügbar ist, finden Sie AWS in der Regionentabelle.

Erfahren Sie, wie Sie Step Functions verwenden

Um zu erfahren, wie Sie Step Functions verwenden, folgen Sie den interaktiven Modulen im AWS Step Functions Workshop oder lesen Sie den Abschnitt Erste Schritte in diesem Handbuch.

Typen von Standard- und Express-Workflows

Step Functions hat zwei Workflowtypen:

  • Standard-Workflows eignen sich ideal für langwierige, überprüfbare Workflows, da sie den Ausführungsverlauf und das visuelle Debugging anzeigen.

    Standard-Workflows werden exakt 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 eignen sich ideal für high-event-rate Workloads wie Streaming-Datenverarbeitung und IoT-Datenaufnahme.

    Express-Workflows verfügen über eine at-least-onceWorkflow-Ausführung und können bis zu fünf Minuten lang ausgeführt werden. Das bedeutet, dass ein oder mehrere Schritte in einem Express-Workflow potenziell mehrmals ausgeführt werden können, während jeder Schritt im Workflow mindestens einmal ausgeführt wird.

Standard-Workflows Express-Workflows
Ausführungsrate von 2.000 pro Sekunde Ausführungsrate von 100.000 pro Sekunde
Zustandsübergangsrate von 4.000 pro Sekunde Nahezu unbegrenzte staatliche Übergangsrate
Preislich je nach staatlichem Übergang Die Preisgestaltung richtet sich nach Anzahl und Dauer der Hinrichtungen
Ausführungshistorie und visuelles Debugging anzeigen Zeigt den Ausführungsverlauf und das visuelle Debugging auf Protokollebene an
Ausführungshistorie in Step Functions anzeigen

Sendet den Ausführungsverlauf an CloudWatch

Support Sie Integrationen mit allen Diensten.

Support Sie optimierte Integrationen mit einigen Diensten.

Support Sie Integrationen mit allen Diensten.
Antwortmuster für Support-Anfragen für alle Dienste

Support Muster „Job ausführen“ und/oder „Auf Rückruf warten“ in bestimmten Diensten (Einzelheiten finden Sie im folgenden Abschnitt)

Antwortmuster für Support-Anfragen für alle Dienste

Weitere Informationen zur Preisgestaltung von Step Functions und zur Auswahl des Workflow-Typs finden Sie im Folgenden:

Integration mit anderen -Services

Step Functions lässt sich in mehrere AWS Dienste integrieren. Um andere AWS Dienste aufzurufen, können Sie zwei Integrationstypen verwenden:

  • AWS SDKIntegrationen bieten die Möglichkeit, jeden AWS Dienst direkt von Ihrer Zustandsmaschine aus aufzurufen, sodass Sie auf Tausende von API Aktionen zugreifen können.

  • Optimierte Integrationen bieten benutzerdefinierte Optionen für die Verwendung dieser Dienste in Ihren Zustandsmaschinen.

Um Step Functions mit anderen Diensten zu kombinieren, gibt es drei Dienstintegrationsmuster:

Standard-Workflows und Express-Workflows unterstützen dieselben Integrationen, aber nicht dieselben Integrationsmuster.

Express-Workflows unterstützen Request Response, aber sie unterstützen Run a Job (.sync) oder Wait for Callback (nicht). waitForTaskToken).

Weitere Informationen finden Sie unter Workflowtyp in Step Functions auswählen.

Unterstützte AWS SDK Integrationen in Step Functions

Unterstützte optimierte Integrationen in Step Functions

Service Request Response (Antwort anfordern) Run a Job (Auftrag ausführen) (.sync) Wait for Callback (Auf Rückruf warten)(.waitForTaskToken)
Amazon API Gateway Standard und Express Wird nicht unterstützt Standard
Amazon Athena Standard und Express Standard Wird nicht unterstützt
AWS Batch Standard und Express Standard Wird nicht unterstützt
Amazon Bedrock Standard und Express Standard Standard
AWS CodeBuild Standard und Express Standard Wird nicht unterstützt
Amazon DynamoDB Standard und Express Wird nicht unterstützt Wird nicht unterstützt
Amazon ECS/Fargate Standard und Express Standard Standard
Amazon EKS Standard und Express Standard Standard
Amazon EMR Standard und Express Standard Wird nicht unterstützt
Amazon EMR on EKS Standard und Express Standard Wird nicht unterstützt
Amazon EMR Serverless Standard und Express Standard Wird nicht unterstützt
Amazon EventBridge Standard und Express Wird nicht unterstützt Standard
AWS Glue Standard und Express Standard Wird nicht unterstützt
AWS Glue DataBrew Standard und Express Standard Wird nicht unterstützt
AWS Lambda Standard und Express Wird nicht unterstützt Standard
AWS Elemental MediaConvert Standard und Express Standard Wird nicht unterstützt
Amazon SageMaker Standard und Express Standard Wird nicht unterstützt
Amazon SNS Standard und Express Wird nicht unterstützt Standard
Amazon SQS Standard und Express Wird nicht unterstützt Standard
AWS Step Functions Standard und Express Standard Standard

Beispielhafte Anwendungsfälle für Workflows

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. Die folgende Abbildung zeigt sechs Anwendungsfälle für Step Functions Functions-Workflows.

Visuelle Beispiele für sechs gängige Workflow-Anwendungsfälle, die im folgenden Text beschrieben werden.

  1. Aufgaben orchestrieren — Sie können Workflows erstellen, die eine Reihe von Aufgaben oder Schritten in einer bestimmten Reihenfolge orchestrieren. Aufgabe A könnte beispielsweise eine Lambda-Funktion sein, die Eingaben für eine andere Lambda-Funktion in Aufgabe B bereitstellt. Der letzte Schritt in Ihrem Workflow liefert das Endergebnis.

  2. Wählen Sie Aufgaben auf der Grundlage von Daten aus — Mithilfe eines Choice Status können Sie Step Functions veranlassen, Entscheidungen auf der Grundlage der Eingaben des Status zu treffen. Stellen Sie sich zum Beispiel vor, dass ein Kunde eine Erhöhung des Kreditlimits beantragt. 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 das vorab genehmigte Kreditlimit Ihres Kunden unterschreitet, können Sie festlegen, dass Step Functions die Anfrage automatisch genehmigt.

  3. Fehlerbehandlung (Retry/Catch) — Sie können fehlgeschlagene Aufgaben wiederholen oder fehlgeschlagene Aufgaben abfangen und automatisch alternative Schritte ausführen.

    Wenn beispielsweise ein Kunde nach einem Benutzernamen gefragt hat, schlägt möglicherweise der erste Anruf bei Ihrem Validierungsdienst fehl, sodass Ihr Workflow die Anfrage möglicherweise erneut versucht. Wenn die zweite Anfrage erfolgreich ist, kann der Workflow fortgesetzt werden.

    Oder vielleicht hat der Kunde einen Benutzernamen angefordert, der ungültig oder nicht verfügbar ist. Eine Catch Aussage könnte zu einem Step Functions Functions-Workflow-Schritt führen, der einen alternativen Benutzernamen vorschlägt.

    Beispiele für Retry und finden Catch Sie unterBehandlung von Zustandsfehlern in Step Functions Functions-Workflows.

  4. Human in the Loop — Step Functions kann menschliche Genehmigungsschritte in den Workflow einbeziehen. Stellen Sie sich zum Beispiel vor, ein Bankkunde versucht, Geld an einen Freund zu überweisen. Mit einem Callback und einem Task-Token können Sie Step Functions warten lassen, bis der Freund des Kunden die Überweisung bestätigt, und dann setzt Step Functions den Workflow fort, um den Bankkunden darüber zu informieren, dass die Überweisung abgeschlossen ist.

    Ein Beispiel finden Sie unter Erstellen Sie ein Beispiel für ein Callback-Muster mit Amazon SQSSNS, Amazon und Lambda.

  5. Parallele Verarbeitung — Mithilfe eines Parallel Zustands können Step Functions Eingaben parallel verarbeiten. Beispielsweise muss ein Kunde möglicherweise eine Videodatei in verschiedene Bildschirmauflösungen konvertieren, damit Zuschauer das Video auf mehreren Geräten ansehen können. Ihr Workflow könnte die ursprüngliche Videodatei an mehrere Lambda-Funktionen senden oder die optimierte AWS Elemental MediaConvert Integration verwenden, um ein Video gleichzeitig in mehreren Bildschirmauflösungen zu verarbeiten.

  6. Dynamische Parallelität — Mithilfe eines Map Status kann Step Functions eine Reihe von Workflow-Schritten für jedes Element in einem Datensatz ausführen. Die Iterationen laufen parallel, was eine schnelle Verarbeitung eines Datensatzes ermöglicht. Wenn Ihr Kunde beispielsweise dreißig Artikel bestellt, muss Ihr System denselben Workflow anwenden, um jeden Artikel für die Lieferung vorzubereiten. Nachdem alle Artikel gesammelt und für den Versand verpackt wurden, besteht der nächste Schritt möglicherweise darin, Ihrem Kunden schnell eine Bestätigungs-E-Mail mit Informationen zur Sendungsverfolgung zu senden.

    Ein Beispiel für eine Startvorlage finden Sie unterVerarbeiten Sie Daten dynamisch mit einer Map.