AWS Glue トリガー
起動されると、トリガーは指定されたジョブとクローラを開始できます。トリガーは、オンデマンドで、スケジュールに基づいて、またはイベントの組み合わせに基づいて起動します。
注記
1 つのトリガーでアクティブにできるクローラは 2 つだけです。複数のデータストアをクロールする場合は、複数のクローラを同時に実行するのではなく、クローラごとに複数のソースを使用します。
トリガーは作成されると複数の状態のいずれかになります。たとえば、CREATED
、ACTIVATED
、または DEACTIVATED
になります。ACTIVATING
などの移行状態もあります。トリガーの起動を一時的に停止するために、トリガーを無効化できます。その後、再度有効化できます。
以下の 3 種類のトリガーがあります。
- 予定
-
cron
に基づく時間ベースのトリガー。スケジュールに基づいて、一連のジョブまたはクローラのトリガーを作成できます。ジョブまたはクローラが実行される頻度、実行される曜日、実行される時間などの制約を指定できます。これらの制約は
cron
に基づいています。トリガーにスケジュールを設定するときは、cron の機能と制限を考慮してください。たとえば、毎月 31 日にクローラを実行することを選択した場合、いくつかの月には 31 日間はないことに注意してください。cron の詳細については、ジョブとクローラの時間ベースのスケジュール を参照してください。 - 条件付き
-
前のジョブまたはクローラや、複数のジョブまたはクローラが、条件のリストを満たしたときに起動するトリガー。
条件付きトリガーを作成するときは、監視対象のジョブとクローラのリストを指定します。監視対象のジョブまたはクローラごとに、監視するステータス (成功、失敗、タイムアウトなど) を指定します。監視対象のジョブまたはクローラが指定されたステータスで終了すると、トリガーが起動します。監視対象のイベントのいずれかまたはすべてが発生したときに起動するようにトリガーを設定できます。
たとえば、ジョブ J1 とジョブ J2 の両方が正常に完了したときにジョブ J3 を開始するトリガー T1 を設定し、ジョブ J1 またはジョブ J2 のいずれかが失敗した場合にジョブ J4 を開始する別のトリガー T2 を設定できます。
以下の表に、トリガーの監視対象のジョブとクローラの完了状態 (イベント) を示しています。
ジョブの完了状態 クローラの完了状態 -
SUCCEEDED
-
STOPPED
-
FAILED
-
TIMEOUT
-
SUCCEEDED
-
FAILED
-
CANCELLED
-
- オンデマンド
-
有効化されると起動するトリガー。オンデマンドトリガーが
ACTIVATED
またはDEACTIVATED
状態になることはありません。それらのトリガーは常にCREATED
状態のままです。
それらのトリガーは作成されるとすぐに起動可能な状態になるように、作成時に、スケジュールトリガーと条件付きトリガーを有効化するフラグを設定できます。
重要
他のジョブまたはクローラの完了の結果として実行されるジョブまたはクローラは、依存関係にあると言われます。依存関係にあるジョブまたはクローラは、完了したジョブまたはクローラがトリガーによって開始された場合にのみ開始されます。依存関係チェーンのすべてのジョブまたはクローラは、1 つのスケジュールまたはオンデマンドトリガーの子であることが必要です。
トリガーを使用してジョブパラメータを渡す
トリガーは、開始するジョブにパラメータを渡すことができます。パラメータとしては、ジョブ引数、タイムアウト値、セキュリティ設定などがあります。トリガーが複数のジョブを開始する場合、パラメータは各ジョブに渡されます。
以下に示しているのは、トリガーによって渡されるジョブ引数のルールです。
-
キーと値のペアのキーがデフォルトのジョブ引数と一致する場合、渡された引数はデフォルトの引数を上書きします。キーがデフォルトの引数と一致しない場合、その引数は追加の引数としてジョブに渡されます。
-
キーと値のペアのキーが上書不可の引数と一致する場合、渡された引数は無視されます。
詳細については、AWS Glue API の「トリガー」を参照してください。