Tutorial: Hört aufAWS Batch​ EventBridge - AWS Batch

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.

Tutorial: Hört aufAWS Batch​ EventBridge

In diesem Tutorial richten Sie eine einfacheAWS LambdaFunktion, auf die man hörtAWS BatchJob-Events und schreibt sie in eine CloudWatch Protokolliert -Protokollstream.

Voraussetzungen

Dieses Tutorial unterstellt eine funktionierende Datenverarbeitungsumgebung samt Auftragswarteschlange, die bereit ist, Aufträge aufzunehmen. Wenn Sie nicht über eine funktionierende Datenverarbeitungsumgebung und Auftragswarteschlange verfügen, deren Ereignisse erfasst werden können, führen Sie die Schritte unterErste Schritte mit AWS Batchum eine zu erstellen. Am Ende dieses Tutorials können Sie optional einen Auftrag an diese Auftragswarteschlange übermitteln, um zu prüfen, ob die Lambda-Funktion richtig konfiguriert wurde.

Schritt 1: So erstellen Sie die Lambda-Funktion:

In diesem Verfahren erstellen Sie eine einfache Lambda-Funktion, die als Ziel fürAWS Batch-Ereignis-Stream Nachrichten.

So erstellen Sie eine Lambda-Zielfunktion
  1. Öffnen Sie die AWS Lambda-Konsole unter https://console.aws.amazon.com/lambda/.

  2. Wählen Sie Funktion erstellen und Von Grund auf neu erstellen aus.

  3. Geben Sie für Function name (Funktionsname) batch-event-stream-handler ein.

  4. Wählen Sie für Runtime (Laufzeit) die Option Python 3.8 aus.

  5. Wählen Sie Create function (Funktion erstellen).

  6. In der-Quellcode-Code entsprechend dem folgenden Beispiel:

    import json def lambda_handler(event, _context): # _context is not used del _context if event["source"] != "aws.batch": raise ValueError("Function only supports input from events with a source type of: aws.batch") print(json.dumps(event))

    Dies ist eine einfache Python 3.8-Funktion, mit der von gesendete Ereignisse gedruckt werdenAWS Batch. Wenn alles richtig konfiguriert ist, sehen Sie am Ende dieses Tutorials, wie die Ereignisdetails in der CloudWatch Protokolliert den Protokollstream, der mit dieser Lambda-Funktion verknüpft ist.

  7. Wählen Sie Deploy (Bereitstellen) aus.

Schritt 2: Registrieren von Ereignisregeln

In diesem Abschnitt erstellen Sie eine EventBridge -Ereignis-Regel, die aus der -Auftragsereignisse stammenAWS BatchRessourcen schätzen. Diese Regel erfasst alle Ereignisse, die von stammenAWS Batchin dem Konto, in dem sie definiert ist. Die Auftragsnachrichten selbst enthalten Informationen über die Ereignisquelle, einschließlich der Auftragswarteschlange, in die sie übermittelt wurden. Sie können diese Informationen verwenden, um Ereignisse programmgesteuert zu filtern und zu sortieren.

Anmerkung

Wenn Sie dasAWS Management Console-Konsole fügt automatisch die IAM-Berechtigungen hinzu EventBridge -Lambda-Funktion aufzurufen. Wenn Sie jedoch eine Ereignisregel mit der OptionAWS CLI-Berechtigungen gewähren, müssen Sie explizit Berechtigungen gewähren. Weitere Informationen finden Sie unterEreignisse und EreignismusterimAmazon EventBridge Benutzerhandbuch.

So erstellen Sie Ihre EventBridge Regel
  1. Öffnen Sie das Amazon EventBridge -Konsole beihttps://console.aws.amazon.com/events/.

  2. Wählen Sie im Navigationsbereich Rules aus.

  3. Wählen Sie Create rule (Regel erstellen).

  4. Geben Sie einen Namen und eine Beschreibung für die Regel ein.

    Eine Regel darf nicht denselben Namen wie eine andere Regel in derselben Region und auf demselben Ereignisbus haben.

  5. Wählen Sie für Event bus (Ereignisbus) den Ereignisbus aus, den Sie dieser Regel zuordnen möchten. Wenn Sie möchten, dass diese Regel mit Ereignissen aus Ihrem -Konto übereinstimmt, wählen SieAWS-Ereignis-bus. Wenn ein AWS-Service in Ihrem Konto ein Ereignis ausgibt, wird dieses stets an den Standardereignisbus Ihres Kontos weitergeleitet.

  6. Bei Rule type (Regeltyp) wählen Sie Rule with an event pattern (Regel mit einem Ereignismuster) aus.

  7. Wählen Sie Next (Weiter).

  8. Wählen Sie für Event source (Ereignisquelle) Other (Andere) aus.

  9. FürEreignismuster-Konsole wählenBenutzerdefinierte Muster (JSON-Editor).

  10. Fügen Sie das folgende Ereignismuster in das Textfeld ein.

    { "source": [ "aws.batch" ] }

    Diese Regel gilt für alleAWS BatchGruppen und an alleAWS Batchevent. Alternativ können Sie eine spezifischere Regel erstellen, damit bestimmte Ergebnisse gefiltert werden.

  11. Wählen Sie Next (Weiter).

  12. Bei Target types (Zieltypen) wählen Sie AWS-Service aus.

  13. FürWählen Sie ein Ziel, wählenLambda-Funktion-Lambda-Funktion aus.

  14. (Optional) Gehen Sie unter Additional settings (Weitere Einstellungen) wie folgt vor:

    1. Geben Sie für Maximum age of event (Maximales Alter des Ereignisses) einen Wert zwischen einer Minute (00:01) und 24 Stunden (24:00) ein.

    2. Geben Sie für Wiederholungsversuche eine Zahl zwischen 0 und 185 ein.

    3. Für-unzustellbare Nachrichten-Standardwarteschlange Amazon SQS unzustellbare Nachrichten verwenden möchten. EventBridge sendet Ereignisse, die dieser Regel entsprechen, an die Warteschlange für unzustellbare Nachrichten, wenn sie nicht erfolgreich an das Ziel übermittelt wurden. Führen Sie eine der folgenden Aktionen aus:

      • Klicken Sie auf Keine, um keine Warteschlange für unzustellbare Nachrichten zu verwenden.

      • Klicken Sie aufWählen Sie eine Amazon SQS SQS-Warteschlange in der aktuellenAWS-Konsole für unzustellbare Nachrichtenund wählen Sie dann die zu verwendende Warteschlange aus dem Drop-down-Menü aus.

      • Klicken Sie auf Wählen Sie eine Amazon SQS Warteschlange in einem anderen AWS-Konto als Warteschlange für unzustellbare Nachrichten und geben Sie dann den ARN der Warteschlange ein, die verwendet werden soll. Sie müssen eine ressourcenbasierte Richtlinie an die Warteschlange anhängen, die gewährt EventBridge -Konsole, um Nachrichten an sie zu senden. Weitere Informationen finden Sie unterErteilen von Berechtigungen für unzustellbare NachrichtenimAmazon EventBridge Benutzerhandbuch.

  15. Wählen Sie Next (Weiter).

  16. (Optional) Geben Sie ein oder mehrere Tags für die Regel ein. Weitere Informationen finden Sie unterAmazon EventBridge TagsimAmazon EventBridge Benutzerhandbuch.

  17. Wählen Sie Next (Weiter).

  18. Überprüfen Sie die Details der Regel und wählen Sie dann Create rule (Regel erstellen) aus.

Schritt 3: Testen Ihrer Konfiguration

Sie können jetzt Ihre EventBridge -Auftragswarteschlange übermitteln. Wenn alles richtig konfiguriert ist, wird die Lambda-Funktion ausgelöst und schreibt die Ereignisdaten in eine CloudWatch Protokolliert den Protokollstream für die Funktion.

So testen Sie die Konfiguration
  1. Öffnen SieAWS Batch-Konsole beihttps://console.aws.amazon.com/batch/.

  2. Senden Sie einen neuen AWS Batch-Auftrag. Weitere Informationen finden Sie unter Senden eines Auftrags.

  3. Öffnen Sie CloudWatch -Konsole beihttps://console.aws.amazon.com/cloudwatch/.

  4. Wählen Sie im Navigationsbereich Logs und die Protokollgruppe für Ihre Lambda-Funktion aus (z. B. /aws/lambda/my-function).

  5. Wählen Sie einen Protokollstream aus, um die Ereignisdaten anzuzeigen.