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 serverloser Orchestrierungsservice, mit dem Sie AWS LambdaFunktionen und andere Funktionen integrieren können, um geschäftskritische AWS-Services Anwendungen zu erstellen. In der grafischen 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 Aufgabe Status steht für eine Arbeitseinheit, die ein anderer AWS Dienst, z. B., ausführt. AWS Lambda Ein Task-Status kann eine AWS-Service beliebige 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 erwartungsgemäß ausgeführt wird. Je nach Anwendungsfall können Sie Step Functions AWS Dienste wie Lambda aufrufen lassen, um Aufgaben auszuführen. Sie können Workflows erstellen, die Modelle für maschinelles Lernen verarbeiten und veröffentlichen. Sie können über Step Functions AWS Dienste steuern lassen, z. B. AWS Glueum Workflows zum Extrahieren, Transformieren und Laden (ETL) zu erstellen. Sie können auch lang andauernde, automatisierte Workflows für Anwendungen erstellen, die menschliche Interaktion erfordern.

Tipp

Um sich anhand einer Reihe interaktiver Module mit den Hauptfunktionen von Step Functions vertraut zu machen, siehe Der AWS Step Functions Workshop. Oder beginnen Sie mit der Verwendung von Step Functions, indem Sie diesen Tutorials für die ersten Schritte folgen, um einen Workflow für Kreditkartenanträge zu erstellen.

AWS SDK und optimierte Integrationen

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

  • Mit den AWS SDK-Integrationen können Sie jeden der über zweihundert AWS Dienste direkt von Ihrer Zustandsmaschine aus aufrufen, sodass Sie auf über neuntausend API-Aktionen zugreifen können.

  • Die optimierten Integrationen von Step Functions wurden angepasst, um die Verwendung in Ihren Zustandsmaschinen zu vereinfachen.

Standard- und Express-Workflows

Step Functions hat zwei Workflowtypen. 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 verfügen jedoch über eine at-least-once Workflow-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.

Ausführungen sind Instanzen, in denen Sie Ihren Workflow ausführen, um Aufgaben auszuführen. Standard-Workflows eignen sich ideal für lange laufende, ü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 Streaming-Datenverarbeitung und IoT-Datenaufnahme.

Spezifikationen für Standard-Workflows

  • Ausführungsrate von 2.000 pro Sekunde

  • Zustandsübergangsrate von 4.000 pro Sekunde

  • Die Preise hängen vom jeweiligen Übergangsstaat ab

  • Ausführungshistorie und visuelles Debugging anzeigen

  • Support aller Serviceintegrationen und -muster

Spezifikationen für Express-Workflows

  • Ausführungsrate von 100.000 pro Sekunde

  • Nahezu unbegrenzte Zustandsübergangsrate

  • Die Preise richten sich nach Anzahl und Dauer der Hinrichtungen

  • Ausführungshistorie an Amazon senden CloudWatch

  • Zeigt den Ausführungsverlauf und das visuelle Debugging auf der Grundlage der aktivierten Protokollebene an

  • Support alle Serviceintegrationen und die meisten Muster

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 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: Funktionsorchestrierung


          Verkettung

Sie erstellen einen Workflow, der eine Gruppe von Lambda-Funktionen (Schritten) in einer bestimmten Reihenfolge ausführt. Die Ausgabe einer Lambda-Funktion geht an die Eingabe der nächsten Lambda-Funktion über. 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 eine Zustandsmaschine mit einer Gruppe von Funktionen erstellen, finden Sie im Folgenden:

Anwendungsfall #2: Verzweigung


          Verzweigen

Ein Kunde beantragt eine Erhöhung des Kreditlimits. Wenn Sie einen Choice Status verwenden, können Sie Step Functions veranlassen, Entscheidungen auf der Grundlage der Eingaben des Choice Status zu treffen. 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.

Anwendungsfall #3: Fehlerbehandlung


          Erneut versuchen/fangen

Retry

In diesem Anwendungsfall fordert ein Kunde einen Benutzernamen an. Beim ersten Mal ist die Anfrage Ihres Kunden erfolglos. Mithilfe einer Retry Anweisung können Sie Step Functions veranlassen, die Anfrage Ihres Kunden erneut zu bearbeiten. Beim zweiten Mal ist die Anfrage Ihres Kunden erfolgreich.

Catch

In einem ähnlichen Anwendungsfall fordert ein Kunde einen nicht verfügbaren Benutzernamen an. Mithilfe einer Catch Anweisung lassen Sie Step Functions einen verfügbaren Benutzernamen vorschlagen. Wenn Ihr Kunde den verfügbaren Benutzernamen verwendet, können Sie Step Functions zum nächsten Schritt in Ihrem Workflow übergehen lassen, dem Senden einer Bestätigungs-E-Mail. Wenn Ihr Kunde den verfügbaren Benutzernamen nicht verwendet, lassen Sie Step Functions zu einem anderen Schritt in Ihrem Workflow übergehen, nämlich den Anmeldevorgang erneut zu starten.

Detailliertere Beispiele Retry und Catch Aussagen finden Sie im Folgenden:

Anwendungsfall #4: Der Mensch ist 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. Mit einem Callback und einem Task-Token weisen Step Functions Lambda an, das Geld Ihres Kunden zu senden, und melden sich, wenn der Freund Ihres Kunden es erhält. Nachdem Lambda gemeldet hat, dass der Freund Ihres Kunden das Geld erhalten hat, können Sie Step Functions veranlassen, mit dem nächsten Schritt in Ihrem Workflow fortzufahren, dem Kunden eine Bestätigungs-E-Mail zu senden.

Ein Beispielprojekt, das einen Rückruf mit einem Task-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. Mithilfe eines Parallel Zustands gibt Step Functions die Videodatei ein, sodass Lambda sie gleichzeitig in die fünf Bildschirmauflö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, holen jeden Artikel ab und verpacken dann jeden Artikel für die Lieferung. Mithilfe eines Map Zustands lässt Step Functions Lambda jeden Artikel Ihres Kunden parallel verarbeiten. Sobald alle Artikel Ihres Kunden für den Versand verpackt sind, geht Step Functions zum nächsten Schritt in Ihrem Workflow über, der darin besteht, Ihrem Kunden eine Bestätigungs-E-Mail mit Informationen zur Sendungsverfolgung zu senden.

Ein Beispielprojekt, das dynamische Parallelität anhand eines Map Zustands zeigt, finden Sie im Folgenden:

Service-Integrationen

Step Functions lässt sich in mehrere AWS Dienste integrieren. Verwenden Sie die folgenden Dienstintegrationsmuster, um Step Functions mit diesen Diensten zu kombinieren:

Antwort anfordern (Standard)
  • Rufen Sie einen Dienst auf und lassen Sie Step Functions zum nächsten Status übergehen, nachdem es eine HTTP-Antwort erhalten hat.

Führen Sie einen Job aus (.sync)
  • Rufen Sie einen Service auf und lassen Sie Step Functions warten, bis ein Job abgeschlossen ist.

Warten Sie 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 Callback zurückkehrt.

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

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

  • Die Unterstützung optimierter Integrationsmuster ist für jede Integration unterschiedlich.

  • Express-Workflows unterstützen Run a Job (.sync) oder Wait for Callback () nicht. waitForTaskToken).

  • Weitere Informationen finden Sie unter Standard- und Express-Workflows.

Standard Workflows
Unterstützte Serviceintegrationen
Service Request Response (Antwort anfordern) Run a Job (Auftrag ausführen) (.sync) Wait for Callback (Auf Rückruf warten)(.waitForTaskToken)
Optimierte Integrationen Amazon API Gateway
Amazon Athena
AWS Batch
Amazon Bedrock
AWS CodeBuild
Amazon DynamoDB
Amazon ECS/Fargate
Amazon EKS
Amazon EMR
Amazon EMR on EKS
Amazon EMR Serverless
Amazon EventBridge
AWS Glue
AWS Glue DataBrew
AWS Lambda
Amazon SageMaker
Amazon SNS
Amazon SQS
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 AWS in der Regionentabelle.

Verwenden Sie Step Functions zum ersten Mal?

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