Workflow-Status zuordnen - 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.

Workflow-Status zuordnen

Verwenden Sie den Map Status, um eine Reihe von Workflow-Schritten für jedes Element in einem Datensatz auszuführen. Die Iterationen des Map Staates laufen parallel, was eine schnelle Verarbeitung eines Datensatzes ermöglicht. Mapstates können eine Vielzahl von Eingabearten verwenden, darunter ein JSON Array, eine Liste von Amazon S3 S3-Objekten oder eine CSV Datei.

Step Functions bietet zwei Arten von Verarbeitungsmodi, um den Map Status in Ihren Workflows zu verwenden: den Inline-Modus und den verteilten Modus.

Tipp

Um ein Beispiel für einen Workflow bereitzustellen, der einen Map Status für Ihren AWS-Konto, siehe Modul 5 — Auswahlstatus und Zuordnungsstatus von AWS Step Functions Werkstatt.

Zustandsverarbeitungsmodi zuordnen

Step Functions bietet die folgenden Verarbeitungsmodi für den Map Status, je nachdem, wie Sie die Elemente in einem Datensatz verarbeiten möchten.

  • Inline — Modus mit begrenzter Parallelität. In diesem Modus wird jede Iteration des Map Status im Kontext des Workflows ausgeführt, der den Status enthält. Map Step Functions fügt die Ausführungshistorie dieser Iterationen zur Ausführungshistorie des übergeordneten Workflows hinzu. Standardmäßig werden Map Staaten im Inline-Modus ausgeführt.

    In diesem Modus akzeptiert der Map Status nur ein JSON Array als Eingabe. Außerdem unterstützt dieser Modus bis zu 40 gleichzeitige Iterationen.

    Weitere Informationen finden Sie unter Verwenden des Kartenstatus im Inline-Modus in Step Functions Functions-Workflows.

  • Verteilt — Modus mit hoher Parallelität. In diesem Modus führt der Map Status jede Iteration als untergeordnete Workflow-Ausführung aus, wodurch eine hohe Parallelität von bis zu 10.000 parallel untergeordneten Workflow-Ausführungen ermöglicht wird. Jede untergeordnete Workflow-Ausführung hat ihren eigenen Ausführungsverlauf, der von dem des übergeordneten Workflows getrennt ist.

    In diesem Modus kann der Map Staat entweder ein JSON Array oder eine Amazon S3 S3-Datenquelle, z. B. eine CSV Datei, als Eingabe akzeptieren.

    Weitere Informationen finden Sie unter Verteilter Modus.

Welchen Modus Sie verwenden sollten, hängt davon ab, wie Sie die Elemente in einem Datensatz verarbeiten möchten. Verwenden Sie den Map Status im Inline-Modus, wenn der Ausführungsverlauf Ihres Workflows 25.000 Einträge nicht überschreitet oder wenn Sie nicht mehr als 40 gleichzeitige Iterationen benötigen.

Verwenden Sie den Map Status im Modus Verteilt, wenn Sie umfangreiche parallel Workloads orchestrieren müssen, die eine beliebige Kombination der folgenden Bedingungen erfüllen:

  • Die Größe Ihres Datensatzes übersteigt 256 KB.

  • Der Verlauf der Ausführungsereignisse des Workflows umfasst mehr als 25.000 Einträge.

  • Sie benötigen eine Parallelität von mehr als 40 parallel Iterationen.

Unterschiede im Inline-Modus und im verteilten Modus

In der folgenden Tabelle werden die Unterschiede zwischen den Modi Inline und Distributed hervorgehoben.

Inline-Modus Verteilter Modus
Supported data sources

Akzeptiert ein JSON Array, das aus einem vorherigen Schritt im Workflow übergeben wurde, als Eingabe.

Akzeptiert die folgenden Datenquellen als Eingabe:

  • JSONArray, das aus einem vorherigen Schritt im Workflow übergeben wurde

  • JSONDatei in einem Amazon S3 S3-Bucket, der ein Array enthält

  • CSVDatei in einem Amazon S3 S3-Bucket

  • Amazon S3 S3-Objektliste

  • Amazon S3 Inventory

Map iterations

In diesem Modus wird jede Iteration des Map Status im Kontext des Workflows ausgeführt, der den Map Status enthält. Step Functions fügt die Ausführungshistorie dieser Iterationen zur Ausführungshistorie des übergeordneten Workflows hinzu.

In diesem Modus führt der Map Status jede Iteration als untergeordnete Workflow-Ausführung aus, wodurch eine hohe Parallelität von bis zu 10.000 parallel untergeordneten Workflow-Ausführungen ermöglicht wird. Jede untergeordnete Workflow-Ausführung hat ihren eigenen Ausführungsverlauf, der von dem des übergeordneten Workflows getrennt ist.

Maximum concurrency for parallel iterations

Ermöglicht die möglichst gleichzeitige Ausführung von bis zu 40 Iterationen.

Ermöglicht die Ausführung von bis zu 10.000 parallel untergeordneten Workflow-Ausführungen, um Millionen von Datenelementen gleichzeitig zu verarbeiten.

Input payload and event history sizes

Erzwingt ein Limit von 256 KB für die Größe der Eingabe-Payload und 25.000 Einträge im Verlauf der Ausführungsereignisse.

Ermöglicht es Ihnen, die Beschränkung der Nutzlastgröße zu umgehen, da der Map Status Eingaben direkt aus Amazon S3 S3-Datenquellen lesen kann.

In diesem Modus können Sie auch Einschränkungen im Ausführungsverlauf umgehen, da die vom Map Status gestarteten untergeordneten Workflow-Ausführungen ihre eigenen, vom Ausführungsverlauf des übergeordneten Workflows getrennten Ausführungshistorien beibehalten.

Monitoring and observability

Sie können den Ausführungsverlauf des Workflows von der Konsole aus oder durch Aufrufen der Aktion überprüfen. GetExecutionHistory API

Sie können den Ausführungsverlauf auch über CloudWatch X-Ray einsehen.

Wenn Sie einen Map Status im verteilten Modus ausführen, erstellt Step Functions eine Map Run-Ressource. Ein Map Run bezieht sich auf eine Reihe von untergeordneten Workflow-Ausführungen, die im Status „Distributed Map“ gestartet werden. Sie können einen Map Run in der Step Functions-Konsole anzeigen. Sie können die DescribeMapRun API Aktion auch aufrufen. Ein Map Run sendet auch Metriken an. CloudWatch

Weitere Informationen finden Sie unter Ausführung einer Distributed Map Run in Step Functions anzeigen.