Definieren Sie parallel Aufgaben in einem Step Functions Functions-Workflow - 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.

Definieren Sie parallel Aufgaben in einem Step Functions Functions-Workflow

Im vorherigen Thema haben Sie Bedingungen für die Auswahl verschiedener Pfade in Ihrem Workflow eingerichtet. Fügen Sie bedingte Logik hinzu Bisher wurden die Schritte sequentiell ausgeführt. In diesem Thema erfahren Sie, wie Sie mithilfe des Status zwei oder mehr Schritte gleichzeitig ausführen können. Parallel

Beide Zweige in einem Parallel Bundesstaat erhalten dieselbe Eingabe, aber jeder Zweig verarbeitet die für ihn spezifischen Teile der Eingabe. Step Functions wartet, bis jeder Zweig abgeschlossen ist, bevor mit dem nächsten Schritt fortgefahren wird.

Sie verwenden den Status Parallel, um gleichzeitig die Identität und Adresse des Antragstellers zu überprüfen.

Schritt 1: Erstellen Sie die Lambda-Funktionen, um die erforderlichen Prüfungen durchzuführen

Dieser Workflow für Kreditkartenanträge ruft zwei Lambda-Funktionen im Parallel-Status auf, um die Identität und Adresse des Antragstellers zu überprüfen. Diese Prüfungen werden gleichzeitig im Parallel-Status durchgeführt. Die Zustandsmaschine schließt die Ausführung erst ab, nachdem beide parallel Zweige die Ausführung abgeschlossen haben.

Um die Lambda-Funktionen Check-Identity und Check-Address zu erstellen
  1. Öffnen Sie in einem neuen Tab oder Fenster die Lambda-Konsole und erstellen Sie zwei Node.js Lambda-Funktionen mit dem Titel check-identity und. check-address Informationen zum Erstellen einer Lambda-Funktion mithilfe der Konsole finden Sie unter Erstellen einer Lambda-Funktion in der Konsole in der AWS Lambda Entwicklerhandbuch.

  2. Öffnen Sie die Funktionsseite zur Überprüfung der Identität und ersetzen Sie den vorhandenen Code im Bereich Codequelle durch den folgenden Code:

    const ssnRegex = /^\d{3}-?\d{2}-?\d{4}$/; const emailRegex = /^[a-zA-Z0-9._-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,4}$/; class ValidationError extends Error { constructor(message) { super(message); this.name = "CustomValidationError"; } } exports.handler = async (event) => { const { ssn, email } = event; console.log(`SSN: ${ssn} and email: ${email}`); const approved = ssnRegex.test(ssn) && emailRegex.test(email); if (!approved) { throw new ValidationError("Check Identity Validation Failed"); } return { statusCode: 200, body: JSON.stringify({ approved, message: `Identity validation ${approved ? 'passed' : 'failed'}` }) } };
  3. Öffnen Sie die Funktionsseite Check-Adresse und ersetzen Sie den vorhandenen Code im Bereich Codequelle durch den folgenden Code:

    class ValidationError extends Error { constructor(message) { super(message); this.name = "CustomAddressValidationError"; } } exports.handler = async event => { const { street, city, state, zip } = event; console.log(`Address information: ${street}, ${city}, ${state} - ${zip}`); const approved = [street, city, state, zip].every(i => i?.trim().length > 0); if (!approved) { throw new ValidationError("Check Address Validation Failed"); } return { statusCode: 200, body: JSON.stringify({ approved, message: `Address validation ${ approved ? 'passed' : 'failed'}` }) } };
  4. Kopieren Sie für beide Lambda-Funktionen im Abschnitt Funktionsübersicht die jeweiligen Amazon-Ressourcennamen (ARN) und speichern Sie sie in einer Textdatei. Sie benötigen die Funktion ARNs bei der Angabe der Serviceintegration für die Identität und den Adressstatus des Bewerbers. Das Folgende ist ein BeispielARN:

    arn:aws:lambda:us-east-2:123456789012:function:HelloWorld

Schritt 2: Aktualisieren Sie den Workflow — Fügen Sie parallel Aufgaben hinzu, die ausgeführt werden sollen

In der Step Functions Functions-Konsole aktualisieren Sie Ihren Workflow, um die Serviceintegration mit den Lambda-Funktionen Check-Identity und Check-Address zu spezifizieren, die Sie in Schritt 1 erstellt haben.

So fügen Sie parallel Aufgaben zum Workflow hinzu
  1. Öffnen Sie das Step Functions Functions-Konsolenfenster, das den Workflow-Prototyp enthält, in dem Sie ihn erstellt habenErstellen Sie eine Zustandsmaschine in Step Functions.

  2. Wählen Sie den Status „Identität verifizieren“ und gehen Sie auf der Registerkarte „Konfiguration“ wie folgt vor:

    1. Behalten Sie als Integrationstyp die Standardauswahl Optimiert bei.

      Anmerkung

      Mithilfe von Step Functions können Sie sich mit anderen integrieren AWS-Services und orchestrieren Sie sie in Ihren Workflows. Weitere Informationen zu Serviceintegrationen und ihren Typen finden Sie unter Integration von Diensten mit Step Functions

    2. Wählen Sie als Funktionsname die Lambda-Funktion check-identity aus der Drop-down-Liste aus.

    3. Wählen Sie für Payload die Option Enter payload aus und ersetzen Sie dann die Beispiel-Payload durch Folgendes als Payload:

      { "email": "janedoe@example.com", "ssn": "012-00-0000" }
  3. Wählen Sie den Status Adresse verifizieren und gehen Sie auf der Registerkarte Konfiguration wie folgt vor:

    1. Behalten Sie als Integrationstyp die Standardauswahl Optimiert bei.

    2. Wählen Sie als Funktionsname die Lambda-Funktion checkaddress aus der Drop-down-Liste aus.

    3. Wählen Sie für Payload die Option Enter payload aus und ersetzen Sie dann die Beispiel-Payload durch Folgendes als Payload:

      { "street": "123 Any St", "city": "Any Town", "state": "AT", "zip": "01000" }
  4. Wählen Sie Weiter.

Nächste Schritte

Im nächsten Schritt erfahren SieIterieren Sie über Elemente, wie Sie über Elemente iterieren.