CloudWatch イベント による AWS Glue の自動化 - AWS Glue

英語の翻訳が提供されている場合で、内容が矛盾する場合には、英語版がオリジナルとして取り扱われます。翻訳は機械翻訳により提供されています。

CloudWatch イベント による AWS Glue の自動化

Amazon CloudWatch Events を使用して、AWS サービスを自動化し、アプリケーションの可用性の問題やリソースの変更などのシステムイベントに自動的に対応できます。AWS サービスからのイベントは、ほぼリアルタイムに CloudWatch イベント に提供されます。簡単なルールを記述して、注目するイベントと、イベントがルールに一致した場合に自動的に実行するアクションを指定できます。自動的にトリガーできるオペレーションには、以下が含まれます。

  • AWS Lambda 関数の呼び出し

  • Amazon EC2 Run Command の呼び出し

  • Amazon Kinesis Data Streams へのイベントの中継

  • AWS Step Functions ステートマシンのアクティブ化

  • Amazon SNS トピックまたは Amazon SQS キューの通知

AWS Glue で CloudWatch イベント を使用する例をいくつか以下に示します。

  • ETL ジョブが成功したときの Lambda 関数のアクティブ化

  • ETL ジョブが失敗したときの Amazon SNS トピックの通知

次の CloudWatch イベント は AWS Glue によって生成されます。

  • "detail-type":"Glue Job State Change" のイベントが SUCCEEDEDFAILEDTIMEOUTSTOPPED に対して生成されます。

  • ジョブ遅延通知のしきい値を超えると、"detail-type":"Glue Job Run Status" のイベントが RUNNINGSTARTINGSTOPPING ジョブの実行に対して生成されます。

  • "detail-type":"Glue Crawler State Change" のイベントが StartedSucceededFailed に対して生成されます。

  • "detail-type":"Glue Data Catalog Database State Change" のイベントが、CreateDatabaseDeleteDatabaseCreateTableDeleteTable、および BatchDeleteTable に対して生成されます。たとえば、テーブルが作成または削除されると、CloudWatch イベント に通知が送信されます。通知イベントの順序や有無に依存するプログラムは作成できないことに注意してください。通知イベントは順番が違っていたり不足している可能性があります。イベントは、ベストエフォートベースで出力されます。通知の詳細情報。

    • typeOfChange には、API オペレーションの名前が含まれます。

    • databaseName には影響を受けるデータベースの名前が含まれます。

    • changedTables には、通知ごとに最大 100 の影響を受けるテーブルの名前が含まれます。テーブル名が長いと、複数の通知が作成されることがあります。

  • "detail-type":"Glue Data Catalog Table State Change" のイベントが、UpdateTableCreatePartitionBatchCreatePartitionDeletePartition、および BatchDeletePartition に対して生成されます。たとえば、テーブルまたはパーティションが更新されると、CloudWatch イベント に通知が送信されます。通知イベントの順序や有無に依存するプログラムは作成できないことに注意してください。通知イベントは順番が違っていたり不足している可能性があります。イベントは、ベストエフォートベースで出力されます。通知の詳細情報。

    • typeOfChange には、API オペレーションの名前が含まれます。

    • databaseName には影響を受けるリソースを含むデータベースの名前が含まれます。

    • tableName には影響を受けるテーブルの名前が含まれます。

    • changedPartitions は 1 つの通知で影響を受けるパーティションを最大 100 まで指定します。パーティション名が長いと、複数の通知が作成されることがあります。

      たとえば、YearMonth の 2 つのパーティションキーがある場合、"2018,01", "2018,02" は、パーティション "Year=2018" and "Month=01"、およびパーティション "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" } }

詳細については、『Amazon CloudWatch Events ユーザーガイド』を参照してください。AWS Glue 固有のイベントについては、「AWS Glue イベント」を参照してください。