Automatisieren von AWS Glue mit CloudWatch Events - AWS Glue

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.

Automatisieren von AWS Glue mit CloudWatch Events

Mit Amazon CloudWatch Events können Sie Ihre AWS-Services automatisieren und automatisch auf Systemereignisse reagieren, z. B. bei Problemen mit der Anwendungsverfügbarkeit oder Ressourcenänderungen. Ereignisse von AWS-Services werden CloudWatch Events nahezu in Echtzeit bereitgestellt. Sie können einfache Regeln schreiben, um anzugeben, welche Ereignisse für Sie interessant sind und welche automatisierten Aktionen durchgeführt werden sollen, wenn sich für ein Ereignis eine Übereinstimmung mit einer Regel ergibt. Die folgenden Aktionen können beispielsweise automatisch ausgelöst werden:

  • Aufrufen einer AWS Lambda-Funktion

  • Aufrufen eines Amazon EC2 Run Command

  • Weiterleiten des Ereignisses an Amazon Kinesis Data Streams

  • Aktivieren eines AWS Step Functions-Zustandsautomaten

  • Benachrichtigen eines Amazon SNS-Themas oder einer Amazon SQS-Warteschlange

Beispiele für die Verwendung von CloudWatch Events mit AWS Glue:

  • Aktivieren einer Lambda-Funktion, wenn ein ETL-Auftrag erfolgreich ist

  • Benachrichtigen eines Amazon-SNS-Themas, wenn ein ETL-Auftrag fehlschlägt

Die folgenden CloudWatch Events werden von AWS Glue generiert.

  • Ereignisse für "detail-type":"Glue Job State Change" werden bei SUCCEEDED, FAILED, TIMEOUT und STOPPED generiert.

  • Ereignisse für "detail-type":"Glue Job Run Status" werden generiert für RUNNING, STARTING und STOPPING Auftragsläufe, wenn sie die Benachrichtigungsschwelle für die Auftragsverzögerung überschreiten. Sie müssen die Schwellenwerteigenschaft für die Benachrichtigung über einen Auftrag festlegen, um diese Ereignisse zu empfangen.

    Es wird nur ein Ereignis pro Status der Auftragsausführung generiert, wenn die Schwelle für die Benachrichtigung über die Auftragsverzögerung überschritten wird.

  • Ereignisse für "detail-type":"Glue Crawler State Change" werden bei Started, Succeeded und Failed generiert.

  • Ereignisse für "detail-type":"Glue Data Catalog Database State Change" werden für CreateDatabase, DeleteDatabase, CreateTable, DeleteTable und BatchDeleteTable generiert. Wenn beispielsweise eine Tabelle erstellt oder gelöscht wird, wird eine Benachrichtigung an CloudWatch Events gesendet. Beachten Sie, dass Sie kein Programm schreiben können, das von der Reihenfolge oder dem Vorhandensein von Benachrichtigungsereignissen abhängig ist, da Benachrichtigungen möglicherweise nicht der Reihe nach erfolgen oder fehlen. Ereignisse werden auf bestmögliche Weise ausgegeben. In den Details der Benachrichtigung:

    • Der Abschnitt typeOfChange enthält den Namen der API-Operation.

    • Der Abschnitt databaseName enthält den Namen der betroffenen Datenbank.

    • Der Abschnitt changedTables enthält bis zu 100 Namen von betroffenen Tabellen pro Benachrichtigung. Wenn Tabellennamen zu lang sind, werden möglicherweise mehrere Benachrichtigungen erstellt.

  • Ereignisse für "detail-type":"Glue Data Catalog Table State Change" werden für UpdateTable, CreatePartition, BatchCreatePartition, UpdatePartition, DeletePartition, BatchUpdatePartition und BatchDeletePartition. generiert. Wenn beispielsweise eine Tabelle oder Partition aktualisiert wird, wird eine Benachrichtigung an CloudWatch Events gesendet. Beachten Sie, dass Sie kein Programm schreiben können, das von der Reihenfolge oder dem Vorhandensein von Benachrichtigungsereignissen abhängig ist, da Benachrichtigungen möglicherweise nicht der Reihe nach erfolgen oder fehlen. Ereignisse werden auf bestmögliche Weise ausgegeben. In den Details der Benachrichtigung:

    • Der Abschnitt typeOfChange enthält den Namen der API-Operation.

    • Der Abschnitt databaseName enthält den Namen der Datenbank, die die betroffenen Ressourcen enthält.

    • Der Abschnitt tableName enthält den Namen der betroffenen Tabelle.

    • Der Abschnitt changedPartitions gibt bis zu 100 betroffene Partitionen in einer einzigen Benachrichtigung an. Wenn Partitionsnamen zu lang sind, werden möglicherweise mehrere Benachrichtigungen erstellt.

      Wenn es beispielsweise zwei Partitionsschlüssel gibt, Year und Month, ändert "2018,01", "2018,02" die Partition mit "Year=2018" and "Month=01" und die Partition mit "Year=2018" and "Month=02".

      { "version":"0", "id":"abcdef00-1234-5678-9abc-def012345678", "detail-type":"Glue Data Catalog Table State Change", "source":"aws.glue", "account":"123456789012", "time":"2017-09-07T18:57:21Z", "region":"us-west-2", "resources":["arn:aws:glue:us-west-2:123456789012:database/default/foo"], "detail":{ "changedPartitions": [ "2018,01", "2018,02" ], "databaseName": "default", "tableName": "foo", "typeOfChange": "BatchCreatePartition" } }

Weitere Informationen finden Sie im Amazon-CloudWatch-Events-Benutzerhandbuch. Weitere Informationen zu Ereignissen speziell für AWS Glue finden Sie unter AWS Glue-Ereignisse.