Verwenden des Inline-Map-Status zur Wiederholung einer Aktion - 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.

Verwenden des Inline-Map-Status zur Wiederholung einer Aktion

Dieses Tutorial hilft Ihnen bei den ersten Schritten mit der Verwendung des Map Status im Inline-Modus. Sie verwenden den Inline-Map-Status in Ihren Workflows, um wiederholt eine Aktion auszuführen. Weitere Informationen zum Inline-Modus finden Sie unter Zuordnen des Status im Inline-Modus.

In diesem Tutorial verwenden Sie den Inline-Map-Status, um wiederholt Universally Unique Identifiers (v4-UUID) der Version 4 zu generieren. Sie beginnen mit der Erstellung eines Workflows, der zwei Pass Status und einen Inline Map-Status im Workflow Studio enthält. Anschließend konfigurieren Sie die Eingabe und Ausgabe, einschließlich des Eingabe-JSON-Arrays für den Map Status. Der Map Status gibt ein Ausgabearray zurück, das die v4-UUIDs enthält, die für jedes Element im Eingabearray generiert wurden.

Schritt 1: Erstellen Sie den Workflow-Prototyp

In diesem Schritt erstellen Sie den Prototyp für Ihren Workflow mit Workflow Studio. Workflow Studio ist ein visueller Workflow-Designer, der in der Step Functions-Konsole verfügbar ist. Sie wählen die erforderlichen Status auf der Registerkarte Flow aus und verwenden die Drag-and-Drop-Funktion von Workflow Studio, um den Workflow-Prototyp zu erstellen.

  1. Öffnen Sie die Step Functions Functions-Konsole und wählen Sie Create State Machine.

  2. Wählen Sie im Dialogfeld Vorlage auswählen die Option Leer aus.

  3. Wählen Sie Select (Auswählen). Dadurch wird Workflow Studio in geöffnetEntwurfsmodus.

  4. Ziehen Sie auf der Registerkarte Flow einen Pass-Status und legen Sie ihn in den leeren Status mit der Bezeichnung Drag First state here ab.

  5. Ziehen Sie einen Kartenstatus und legen Sie ihn unter den Status Pass ab. Benennen Sie den Kartenstatus um inMap demo.

  6. Ziehen Sie einen zweiten Pass-Status und legen Sie ihn innerhalb des Map-Demo-Status ab.

  7. Benennen Sie den zweiten Pass-Status in umGenerate UUID.

Schritt 2: Eingabe und Ausgabe konfigurieren

In diesem Schritt konfigurieren Sie Eingabe und Ausgabe für alle Status in Ihrem Workflow-Prototyp. Zunächst fügen Sie mithilfe des ersten Pass-Status einige feste Daten in den Workflow ein. Dieser Status „Pass“ gibt diese Daten als Eingabe an den Map-Demo-Status weiter. In dieser Eingabe geben Sie den Knoten an, der das Eingabearray enthält, über das der Map-Demostatus iteriert werden soll. Dann definieren Sie den Schritt, den der Map-Demostatus wiederholen soll, um die v4-UUIDs zu generieren. Schließlich konfigurieren Sie die Ausgabe so, dass sie bei jeder Wiederholung zurückgegeben wird.

  1. Wählen Sie den ersten Pass-Status in Ihrem Workflow-Prototyp aus. Geben Sie auf der Registerkarte Ausgabe unter Ergebnis Folgendes ein:

    { "foo": "bar", "colors": [ "red", "green", "blue", "yellow", "white" ] }
  2. Wählen Sie den Map-Demostatus und gehen Sie auf der Registerkarte Konfiguration wie folgt vor:

    1. Wählen Sie „Pfad zum Artikelarray angeben“ aus.

    2. Geben Sie den folgenden Referenzpfad an, um den Knoten auszuwählen, der das Eingabe-Array enthält:

      $.colors
  3. Wählen Sie den Status „UUID generieren“ und gehen Sie auf der Registerkarte Eingabe wie folgt vor:

    1. Wählen Sie „Eingabe mit Parametern transformieren“.

    2. Geben Sie die folgende JSON-Eingabe ein, um die v4-UUIDs für jedes der Eingabe-Array-Elemente zu generieren. Sie verwenden die States.UUID systeminterne Funktion, um die UUIDs zu generieren.

      { "uuid.$": "States.UUID()" }
  4. Wählen Sie für den Status „UUID generieren“ die Registerkarte „Ausgabe“ und gehen Sie wie folgt vor:

    1. Wählen Sie „Ausgabe filtern mit“. OutputPath

    2. Geben Sie den folgenden Referenzpfad ein, um den JSON-Knoten auszuwählen, der die Ausgabe-Array-Elemente enthält:

      $.uuid

Schritt 3: Überprüfen Sie die automatisch generierte Amazon States-Sprachdefinition und speichern Sie den Workflow

Wenn Sie Status aus dem Flow-Bedienfeld auf die Arbeitsfläche ziehen und dort ablegen, erstellt Workflow Studio automatisch die Amazon States Language (ASL) -Definition Ihres Workflows in Echtzeit. Sie können diese Definition nach Bedarf bearbeiten.

  1. (Optional) Wählen Sie im Inspector Fenster Definition aus, um die automatisch generierte Amazon States-Sprachdefinition Ihres Workflows anzuzeigen.

    Tipp

    Sie können die ASL-Definition auch im Workflow Studio einsehen. Code-Editor Im Code-Editor können Sie auch die ASL-Definition Ihres Workflows bearbeiten.

    Das folgende Beispiel zeigt die automatisch generierte Amazon States-Sprachdefinition für Ihren Workflow.

    { "Comment": "Using Map state in Inline mode", "StartAt": "Pass", "States": { "Pass": { "Type": "Pass", "Next": "Map demo", "Result": { "foo": "bar", "colors": [ "red", "green", "blue", "yellow", "white" ] } }, "Map demo": { "Type": "Map", "ItemsPath": "$.colors", "ItemProcessor": { "ProcessorConfig": { "Mode": "INLINE" }, "StartAt": "Generate UUID", "States": { "Generate UUID": { "Type": "Pass", "End": true, "Parameters": { "uuid.$": "States.UUID()" }, "OutputPath": "$.uuid" } } }, "End": true } } }
  2. Geben Sie einen Namen für Ihre Zustandsmaschine an. Wählen Sie dazu das Bearbeitungssymbol neben dem Standardnamen der Zustandsmaschine von MyStateMachine. Geben Sie dann unter State-Machine-Konfiguration einen Namen in das Feld State-Machine-Name ein.

    Geben Sie für dieses Tutorial den Namen InlineMapDemo ein.

  3. (Optional) Geben Sie unter State-Machine-Konfiguration weitere Workflow-Einstellungen an, z. B. den Zustandsmaschinentyp und seine Ausführungsrolle.

    Behalten Sie für dieses Tutorial alle Standardauswahlen in der State-Machine-Konfiguration bei.

  4. Wählen Sie im Dialogfeld „Rollenerstellung bestätigen“ die Option „Bestätigen“, um fortzufahren.

    Sie können auch Rolleneinstellungen anzeigen wählen, um zur State-Machine-Konfiguration zurückzukehren.

    Anmerkung

    Wenn Sie die von Step Functions erstellte IAM-Rolle löschen, kann Step Functions sie später nicht mehr neu erstellen. Ebenso kann Step Functions ihre ursprünglichen Einstellungen später nicht wiederherstellen, wenn Sie die Rolle ändern (z. B. indem Sie Step Functions aus den Principals in der IAM-Richtlinie entfernen).

Schritt 4: Führen Sie die Zustandsmaschine aus

State-Machine-Ausführungen sind Instanzen, in denen Sie Ihren Workflow ausführen, um Aufgaben auszuführen.

  1. Wählen Sie auf der InlineMapDemoSeite Ausführung starten aus.

  2. Gehen Sie im Dialogfeld Ausführung starten wie folgt vor:

    1. (Optional) Um Ihre Ausführung zu identifizieren, können Sie im Feld Name einen Namen dafür angeben. Standardmäßig generiert Step Functions automatisch einen eindeutigen Ausführungsnamen.

      Anmerkung

      Mit Step Functions können Sie Namen für Zustandsmaschinen, Ausführungen, Aktivitäten und Labels erstellen, die Nicht-ASCII-Zeichen enthalten. Diese Nicht-ASCII-Namen funktionieren nicht mit Amazon. CloudWatch Um sicherzustellen, dass Sie CloudWatch Messwerte verfolgen können, wählen Sie einen Namen, der nur ASCII-Zeichen verwendet.

    2. (Optional) Geben Sie in das Eingabefeld Eingabewerte im JSON-Format ein, um Ihren Workflow auszuführen.

    3. Wählen Sie Start execution (Ausführung starten) aus.

    4. Die Step Functions Functions-Konsole leitet Sie zu einer Seite weiter, die mit Ihrer Ausführungs-ID betitelt ist. Diese Seite wird als Seite mit den Ausführungsdetails bezeichnet. Auf dieser Seite können Sie die Ausführungsergebnisse im Verlauf der Ausführung oder nach deren Abschluss überprüfen.

      Um die Ausführungsergebnisse zu überprüfen, wählen Sie in der Diagrammansicht einzelne Status aus und wählen Sie dann die einzelnen Registerkarten im Schrittdetails Bereich, um die Details der einzelnen Status, einschließlich Eingabe, Ausgabe und Definition, anzuzeigen. Einzelheiten zu den Ausführungsinformationen, die Sie auf der Seite mit den Ausführungsdetails einsehen können, finden Sie unterSeite mit Ausführungsdetails – Schnittstellenübersicht.

    Um die Eingabe und Ausgabe der Ausführung anzuzeigen side-by-side, wählen Sie „Eingabe und Ausgabe der Ausführung“. Sehen Sie sich unter Ausgabe das vom Map Status zurückgegebene Ausgabe-Array an. Im Folgenden finden Sie ein Beispiel für das Ausgabe-Array:

    [ "a85cbc7b-4e65-4ac2-97af-80ed504adc1d", "b05bca11-d481-414e-aa9a-88285ec6590d", "f42d59f7-bd32-480f-b270-caddb518ce2a", "15f18616-517d-4b69-b7c3-bf22222d2efd", "690bcfee-6d58-408c-a6b4-1995ccafdbd2" ]