Erstellen Sie einen Task-Timer mit Lambda und Amazon SNS - 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.

Erstellen Sie einen Task-Timer mit Lambda und Amazon SNS

Dieses Beispielprojekt erstellt einen Aufgabentimer. Es implementiert eine AWS Step Functions Zustandsmaschine, die einen Wait Zustand implementiert und einen verwendet AWS Lambda Funktion, die eine Amazon Simple Notification Service (AmazonSNS) -Benachrichtigung sendet. Ein Workflow-Status warten-Zustand ist ein Zustandstyp, der auf einen Auslöser wartet, um eine einzelne Arbeitseinheit auszuführen.

Anmerkung

Dieses Beispielprojekt implementiert eine AWS Lambda Funktion zum Senden einer Amazon Simple Notification Service (AmazonSNS) -Benachrichtigung. Sie können eine SNS Amazon-Benachrichtigung auch direkt aus der Sprache der Amazon-Staaten senden. Siehe Integration von Diensten mit Step Functions.

Dieses Beispielprojekt erstellt die Zustandsmaschine, eine Lambda-Funktion und ein SNS Amazon-Thema und konfiguriert die zugehörigen AWS Identity and Access Management (IAM) Berechtigungen. Weitere Informationen zu den Ressourcen, die mit dem Beispielprojekt Task Timer (Aufgabentimer) erstellt werden, finden Sie im Folgenden:

Für weitere Informationen darüber, wie AWS Step Functions kann andere kontrollieren AWS Dienstleistungen, sieheIntegration von Diensten mit Step Functions.

Schritt 1: Erstellen Sie die Zustandsmaschine

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

  2. Geben Sie Task Timer etwas in das Suchfeld ein und wählen Sie dann Task Timer aus den zurückgegebenen Suchergebnissen aus.

  3. Wählen Sie Next (Weiter), um fortzufahren.

  4. Wählen Sie „Demo ausführen“, um eine schreibgeschützte Version und einen ready-to-deploy Workflow zu erstellen, oder wählen Sie „Darauf aufbauen“, um eine bearbeitbare Zustandsmaschinen-Definition zu erstellen, auf der Sie aufbauen und diese später bereitstellen können.

    Dieses Beispielprojekt stellt die folgenden Ressourcen bereit:

    • eine Lambda-Funktion, die eine SNS Amazon-Benachrichtigung sendet.

    • Importieren in &S3; AWS Step Functions Zustandsautomat

    • Verwandt AWS Identity and Access Management (IAM) Rollen

    Die folgende Abbildung zeigt das Workflow-Diagramm für das Task Timer-Beispielprojekt:

    Workflow-Diagramm des Task Timer-Beispielprojekts.
  5. Wählen Sie Vorlage verwenden, um mit Ihrer Auswahl fortzufahren.

Die nächsten Schritte hängen von Ihrer vorherigen Auswahl ab:

  1. Führen Sie eine Demo durch — Sie können den Status Machine überprüfen, bevor Sie ein schreibgeschütztes Projekt mit Ressourcen erstellen, die bereitgestellt werden von AWS CloudFormation zu Ihrem AWS-Konto.

    Sie können sich die State-Machine-Definition ansehen. Wenn Sie bereit sind, wählen Sie Deploy and run, um das Projekt bereitzustellen und die Ressourcen zu erstellen.

    Die Bereitstellung kann bis zu 10 Minuten dauern, bis Ressourcen und Berechtigungen erstellt sind. Sie können den Stack-ID-Link verwenden, um den Fortschritt zu überwachen AWS CloudFormation.

    Nach Abschluss der Bereitstellung sollte Ihre neue Zustandsmaschine in der Konsole angezeigt werden.

  2. Darauf aufbauen — Sie können die Workflow-Definition überprüfen und bearbeiten. Möglicherweise müssen Sie Werte für Platzhalter im Beispielprojekt festlegen, bevor Sie versuchen, Ihren benutzerdefinierten Workflow auszuführen.

Anmerkung

Für Dienste, die für Ihr Konto bereitgestellt werden, können Standardgebühren anfallen.

Schritt 2: Führen Sie die Zustandsmaschine aus

Nachdem alle Ressourcen bereitgestellt und bereitgestellt wurden, wird das Dialogfeld Ausführung starten mit einer Beispieleingabe angezeigt, die der folgenden ähnelt.

{ "jobName": "my-job",{ "topic": "arn:aws:sns:us-east-2:123456789012:StepFunctionsSample-TaskTimercc68840e-c3d3-42a8-911e-821b7ce248e5-SNSTopic-44UjcFxzhACT", "message": "HelloWorld", "timer_seconds": 10 }
  • Gehen Sie im Dialogfeld Ausführung starten wie folgt vor:

    1. (Optional) Geben Sie einen benutzerdefinierten Ausführungsnamen ein, um den generierten Standard zu überschreiben.

      ASCIINichtnamen und Protokollierung

      Step Functions akzeptiert Namen für Zustandsmaschinen, Ausführungen, Aktivitäten und Bezeichnungen, die ASCII Nichtzeichen enthalten. Da solche Zeichen nicht mit Amazon funktionieren, empfehlen wir CloudWatch, nur ASCII Zeichen zu verwenden, damit Sie die Messwerte verfolgen können CloudWatch.

    2. (Optional) Geben Sie im Eingabefeld die Eingabewerte als einJSON. Sie können diesen Schritt überspringen, wenn Sie eine Demo ausführen.

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

    Die Step Functions Functions-Konsole leitet Sie zu einer Seite mit den Ausführungsdetails weiter, auf der Sie Status in der Diagrammansicht auswählen können, um die zugehörigen Informationen im Einzelheiten zu den Schritten Bereich zu untersuchen.

    Die folgende Abbildung zeigt beispielsweise die Ausgabe des ausgewählten Schritts „Auf Timestamp warten“. Die Ausgabe dieses Schritts wird als Eingabe an den Schritt SNSNachricht senden übergeben.

    Ausführungsausgabe des Schritts „Warten auf Zeitstempel“, der in der Diagrammansicht ausgewählt wurde.