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 Orchestrierungsservice, mit dem Sie AWS LambdaFunktionen und andere integrieren könnenAWS-Services, um geschäftskritische Anwendungen entwerfen zu können. In der grafischen Konsole von Step Functions sehen Sie den Arbeitsablauf Ihrer Anwendung als eine Reihe von ereignisgesteuerten Schritten.

Step Functions basiert auf Zustandsmaschinen und Aufgaben. Eine State Machine ist ein Workflow. Eine Aufgabe ist ein Status in einem Workflow, der eine einzelne Arbeitseinheit darstellt, die ein andererAWS Dienst ausführt. 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. Abhängig von Ihrem Anwendungsfall können Sie Step FunctionsAWS Dienste wie Lambda aufrufen lassen, um Aufgaben auszuführen. Sie können Workflows erstellen, die Machine-Learning-Modelle verarbeiten und veröffentlichen. Sie könnenAWS Dienste Step Functions, um Workflows zum Extract, Transform, Load (ETL) entwerfen. AWS Glue 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 DerAWS 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 die Beantragung von Kreditkarten zu erstellen.

AWSSDK und optimierte Integrationen

Um andereAWS Dienste aufzurufen, können Sie dieAWS SDK-Integrationen von Step Functions oder 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 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 mehr als einmal 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 langandauernde, ü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 hieren

  • Zustandsübergangsrate von 4.000 pro Sekunde

  • Preisgestaltung nach Staatsübergang

  • Ausführungshistorie und visuelles Debugging anzeigen

  • Support alle Serviceintegrationen und -muster

Spezifikationen für Express-Workflows

  • Ausführungsrate von 100 hieren

  • Nahezu unbegrenzte staatliche Übergangsrate

  • Die Preise richten sich nach Anzahl und Dauer der Ausführungen

  • Ausführungshistorie an Amazon senden CloudWatch

  • Zeigt den Ausführungsverlauf und das visuelle Debugging auf der Grundlage des aktivierten Log-Levels an

  • Support alle Serviceintegrationen und die meisten Muster

Weitere Informationen über Standard- und Express-Workflows, einschließlich der Preise für Step Functions Funcieren, 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: 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 Arbeitsablauf führt zu einem Ergebnis. Mit Step Functions können Sie sehen, wie die einzelnen Schritte in Ihrem Workflow miteinander interagieren, sodass Sie sicherstellen können, dass jeder Schritt seine beabsichtigte Funktion erfüllt.

Weitere Informationen zum Erstellen einer Zustandsmaschine mit einer Gruppe von Funktionen finden Sie unter:

Anwendungsfall #2: Verzweigung


          Verzweigen

Ein Kunde beantragt eine Erhöhung des Kreditlimits. Mithilfe einesChoice Bundesstaates können Sie Step Functions Entscheidungen auf der Grundlage der Eingaben desChoice Bundesstaates treffen lassen. Wenn die Anfrage das vorab genehmigte Kreditlimit Ihres Kunden übersteigt, können Sie festlegen, dass Step Functions die Anfrage Ihres Kunden zur Genehmigung an einen Manager sendet. 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 und Laden

Retry

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

Catch

In einem ähnlichen Anwendungsfall fordert ein Kunde einen nicht verfügbaren Benutzernamen an. Mithilfe einerCatch 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, nämlich dem Senden einer Bestätigungs-E-Mail. Wenn Ihr Kunde den verfügbaren Benutzernamen nicht verwendet, können Sie mit Step Functions zu einem anderen Schritt in Ihrem Arbeitsablauf übergehen, nämlich den Anmeldevorgang erneut zu starten.

Ausführlichere Beispiele fürRetry undCatch Anweisungen finden Sie im Folgenden:

Anwendungsfall #4: Mensch auf dem Laufenden


          Verkettung

Mit einer Banking-App überweist einer Ihrer Kunden Geld an einen Freund. Ihr Kunde wartet auf eine Bestätigungs-E-Mail. Mit einem Callback und einem Aufgaben-Token weisen Step Functions Lambda an, das Geld Ihres Kunden zu senden und Ihnen Bericht zu erstatten, 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 zum nächsten Schritt in Ihrem Arbeitsablauf übergehen lassen, nämlich dem Senden einer Bestätigungs-E-Mail an Ihren Kunden.

Ein Beispielprojekt, das einen Callback mit einem Aufgabentoken zeigt, finden Sie im Folgenden:

Anwendungsfall #5: Parallele Verarbeitung


          Parallelism

Ein Kunde konvertiert eine Videodatei in fünf verschiedene Bildschirmauflösungen, sodass die Zuschauer das Video auf mehreren Geräten ansehen können. Mithilfe einesParallel Zustands gibt Step Functions die Videodatei ein, sodass Lambda sie in die fünf Bildschirmauflösungen gleichzeitig 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. Mithilfe einesMap Zustands lässt Step Functions 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 Arbeitsablauf über, der darin besteht, Ihrem Kunden eine Bestätigungs-E-Mail mit Informationen zur Sendungsverfolgung zu senden.

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

Service-Integrationen

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

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

Einen Job ausführen (.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 Aufgabentoken (. waitForTaskWertmarke)
  • 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. Express-Workflows unterstützen weder Run a Job (.sync) noch Wait for Callback (. waitForTaskWertmarke). Die Unterstützung optimierter Integrationsmuster ist für jede Integration unterschiedlich. Weitere Informationen finden Sie unter Standard-Workflows im Vergleich zu Express-Workflows.

Standard Workflows
Unterstützte -Serviceinteck
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 meistenAWS Regionen unterstützen Step Functions. Eine Liste derAWS Regionen, in denen Step Functions kann, finden Sie AWSin der Tabelle mit den Regionen.

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 anderenAWS Diensten: