Verwenden von Codeausschnitten zum Erstellen eines Zustands, um eine Amazon SNS SNS-Nachricht zu senden - 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 von Codeausschnitten zum Erstellen eines Zustands, um eine Amazon SNS SNS-Nachricht zu senden

AWS Step Functionsintegriert sich in bestimmteAWS-Services, wie Amazon Simple Notification Service (Amazon SNS). In diesem Tutorial generieren Sie einen Codeausschnitt, der Amazon SNS verwendet, eine SMS an ein SMS-fähiges Gerät sendet. Sie übergeben Parameter aus Ihrer Zustandsautomatendefinition direkt an Amazon SNS.

Weitere Informationen zur Integration von Step Functions in andereAWS-Servicesdirekt aus der Amazon States Language finden Sie unter:

Voraussetzungen

Schritt 1: Erstellen eines Codeausschnitts

Um einen Codeausschnitt zu erzeugen, müssen Sie zunächst eine Zustandsautomatendefinition bearbeiten.

  1. Melden Sie sich beim an.AWS Management Consoleund öffnen Sie denStep Functions Konsole.

  2. Klicken Sie aufSchreiben Sie Ihren Workflow in Code.

  3. FürTypbehalten Sie die Standardauswahl bei.Standard-.

    DerHelloWorldState Machine wird angezeigt unterDefinition.

    
                        HelloWorld Definition
  4. Aus demErstellen eines CodeausschnittDropdownliste, wählenAmazon SNS: Veröffentlichen einer Nachricht.

    Das Fenster Generate SNS Publish task state (SNS-Veröffentlichungsaufgabenzustand generieren) wird angezeigt.

  5. UnderZiel, wählen"Phone number (Telefonnummer)"und geben Sie Ihre Telefonnummer ein.

  6. Klicken Sie aufGeben Sie Ihre Telefonnummer einin der Dropdown-Liste, die angezeigt wird, und geben Sie dann Ihre Telefonnummer in das Feld unten ein.

    Verwenden Sie dabei das Format [+][country code][subscriber number including area code]. Zum Beispiel: +12065550123.

  7. Wählen Sie unter Message (Nachricht) die Option Enter message (Nachricht eingeben) und geben Sie Text ein, den Sie als SMS-Nachricht senden möchten.

    Anmerkung

    Sie können ebenso Specify message at runtime with state input (Nachricht zur Laufzeit mit Zustandseingang spezifizieren). Mit dieser Option können Sie einen Referenzpfad verwenden, um eine Nachricht aus der Eingabe Ihrer Zustandsautomatenausführung auszuwählen. Weitere Informationen finden Sie unter:

Während Sie Optionen auf derGenerieren des SNS-Veröffentlichungsaufgabenstatusangezeigten,-VorschauAktualisierung des Abschnitts mit dem Amazon States Language-Code für eineTaskStaat mit den notwendigen Optionen.

Wählen Sie beispielsweise die folgenden Optionen.


                SNS-Zustandsoptionen

Wenn diese Optionen ausgewählt sind, wird dieser generierte Codeausschnitt im Bereich Preview (Vorschau) angezeigt.

"Amazon SNS: Publish a message": { "Type": "Task", "Resource": "arn:aws:states:::sns:publish", "Parameters": { "Message": "Hello from Step Functions!", "PhoneNumber": "+12065550123" }, "Next": "NEXT_STATE" }
Anmerkung

Im Abschnitt Task state options (Aufgabenzustandsoptionen) können Sie ebenso Optionen für Retry, Catch und TimeoutSeconds konfigurieren. Siehe Fehlerbehandlung in Step Functions.

Schritt 2: Aktualisieren Ihrer Zustandsautomatendefinition

Nachdem Sie nun Ihre Amazon SNS SNS-Optionen konfiguriert haben, fügen Sie den generierten Codeausschnitt in Ihre Zustandsautomatendefinition ein und aktualisieren den vorhandenen Amazon States Language-Code.

  1. Nachdem Sie den Code im Abschnitt Preview (Vorschau) geprüft haben, wählen Sie Copy to clipboard (In die Zwischenablage kopieren).

  2. Platzieren Sie den Mauszeiger hinter der schließenden Klammer des HelloWorld-Zustands in Ihrer Zustandsautomatendefinition.

    
                        Platzieren Sie den Mauszeiger am Ende desHelloWorldZustand.

    Geben Sie ein Komma ein und drücken SieGeben Sie ein.um eine neue Zeile zu beginnen, und fügen Sie den Codeausschnitt in Ihre Zustandsautomatendefinition ein.

  3. Ändern Sie die letzte Zeile des Amazon SNS: Publish a message-Zustands von "Next": "NEXT_STATE" in "End": true.

  4. Ändern Sie die letzte Zeile des HelloWorld-Zustands von "End": true in "Next": "Amazon SNS: Publish a message".

  5. Klicken Sie auf 
       refresh
    imVisueller WorkflowBereich. Überprüfen Sie den visuellen Workflow, um sicherzustellen, dass der neue Zustand enthalten ist.

    
                        Prüfen Sie den visuellen Workflow.
  6. (Optional) Rücken Sie JSON ein, um Ihren Code besser lesbar zu machen. Ihre Zustandsautomatendefinition sollte folgendermaßen aussehen.

    { "StartAt":"HelloWorld", "States":{ "HelloWorld":{ "Type":"Pass", "Result":"Hello World!", "Next":"Amazon SNS: Publish a message" }, "Amazon SNS: Publish a message":{ "Type":"Task", "Resource":"arn:aws:states:::sns:publish", "Parameters":{ "Message":"Hello from Step Functions!", "PhoneNumber":"+12065550123" }, "End":true } } }
  7. Wählen Sie Next (Weiter).

  8. Geben Sie einen Namen für den Zustandsautomaten ein. Zum Beispiel using-code-snippets.

  9. FürBerechtigungenbehalten Sie die Standardauswahl bei.Create New Role.

  10. Wählen Sie Create State Machine (Zustandsautomaten erstellen).

Schritt 3: Starten einer Ausführung

Nach dem Erstellen des Zustandsautomaten starten Sie eine Ausführung.

  1. Überprüfen Sie die Details Ihres Zustandsautomaten, einschließlich des Amazon-Ressourcennamens (ARN), des zugehörigen IAM-ARN und der Zustandsautomatendefinition.

  2. Auf derusing-code-snippetsangezeigten, wählen SieStarten der Ausführung.

    DieStarten der Ausführungwird angezeigt.

  3. (Optional) Um Ihre Ausführung zu identifizieren, können Sie im Feld einen Namen für sie in derNameaus. Standardmäßig generiert Step Functions automatisch einen eindeutigen Ausführungsnamen.

    Anmerkung

    Mit Step Functions können Sie Zustandsautomaten-, Ausführungs- und Aktivitätsnamen erstellen, die Nicht-ASCII-Zeichen enthalten. Diese Nicht-ASCII-Namen funktionieren nicht mit Amazon CloudWatch. Um sicherzustellen, dass Sie verfolgen können CloudWatch metriken, wählen Sie einen Namen, der nur ASCII-Zeichen verwendet.

    Anmerkung

    Wenn wir gewählt hättenGeben Sie die Nachricht zur Laufzeit mit Zustandseingangbeim Erstellen unseres Amazon SNS SNS-Code-Snippets würden wir eine Nachricht in dasEingabe - optional. Vorerst können Sie den Standardzustandseingang verwenden.

  4. Wählen Sie Start Execution aus.

    Eine neue Ausführung Ihres Zustandsautomaten startet und eine neue Seite mit Ihrer laufenden Ausführung wird angezeigt.

Wenn Sie in Ihrem Codeausschnitt eine bestätigte Telefonnummer angegeben haben, sollten Sie von Amazon SNS eine SMS erhalten haben, die direkt durch die Ausführung Ihres Zustandsautomaten ausgelöst wurde.