データ接続と統合パイプラインの構築スケジューリングトリガーの種類のリファレンス

注: 以下の翻訳の正確性は検証されていません。AIPを利用して英語版の原文から機械的に翻訳されたものです。

トリガーの種類のリファレンス

Foundry は AND トリガーと OR トリガーの任意のネストをサポートしており、特定の要件に合わせてカスタマイズしたトリガーを作成できます。

時刻トリガー

時刻トリガーは、指定した時点で満たされるトリガーです。指定した時点を過ぎると、時刻トリガーは満たされなくなります。

cron 式

時刻トリガーは、cron 式 ↗とタイムゾーンを使用して定義します。

単純な時刻トリガーでは、cron 式を記述する必要はありません。スケジュールエディターには、時刻トリガーを定義するための使いやすいインターフェースが用意されています。より複雑な時刻トリガーでは、カスタムの cron 式を記述する必要がある場合があります。

スケジュールエディターは、5個のフィールドを持つ標準の Unix cron 式形式を使用します。

+--------- Minute
| +------- Hour
| | +----- Day of Month
| | | +--- Month
| | | | +- Day of Week
| | | | |
* * * * *

Data Health は、Unix cron 形式 ↗(5個のパラメーター)ではなく、Quartz cron 形式 ↗(6個のパラメーター)を使用します。Quartz では、標準の Unix cron 形式の先頭に、秒を指定するフィールドが追加されています。

スケジュールエディターでは、各フィールドに次の値を指定できます。

フィールド指定可能な値指定可能な特殊文字注記
分0-59* - / ,
時0-23* - / ,
日1-31* - / , L
月1-12 または JAN-DEC* - / ,
曜日0-6 または SUN-SAT* - / , L #7も日曜日を表します

特殊文字の意味は次のとおりです。

  • アスタリスク(*):****すべての値を指定します。

    例:

    分意味
    *毎分
  • ハイフン(-):値の範囲を指定します。

    例:

    分意味
    10-2010分以上20分以下
  • スラッシュ(/):値の間隔付き範囲を指定します。

    間隔付き範囲は、値または範囲を使用して定義できます。

    • 値とともに使用した場合、範囲は指定した値からそのフィールドの最大値までです
    • 範囲とともに使用した場合、範囲は指定した範囲です

    例:

    分意味
    25/1025分から10分間隔(25分、35分、45分、55分)
    25-45/1025分以上45分以下の範囲で10分間隔(25分、35分、45分)
  • カンマ(,):値、範囲、間隔付き範囲のリストを指定します。

    例:

    分意味
    10,20,3010分、20分、30分
    10,20-3010分、および20分以上30分以下
    10,25-45/1010分、および25分以上45分以下の範囲で10分間隔
  • L(L):****最後の値を指定します。

    L の意味は、使用方法によって異なります。

    • 日フィールドで使用した場合、その月の最終日を指定します
    • 曜日フィールドで単独で使用した場合、その週の最終日(土曜日)を指定します
    • 曜日フィールドで値とともに使用した場合、その月で指定した曜日に該当する最後の日を指定します

    例:

    日意味
    Lその月の最終日
    曜日意味
    Lその週の最終日(土曜日)
    2Lその月の最後の火曜日
  • ハッシュ(#):****その月の第 n 曜日を指定します。

    例:

    曜日意味
    2#4その月の第4火曜日

時刻トリガーは、cron 式が現在の日時と一致したときに満たされます。

日フィールドと曜日フィールドの両方が * でない場合、どちらかが現在の日時と一致すると、トリガーが満たされます。

例:

cron 式  意味
30 9 * * 1月曜日の午前9時30分
30 17 * 2 12月の月曜日の午後5時30分
0 9-17 10 * *毎月10日の午前9時から午後5時まで1時間ごと
0 9-17/2 10 * *毎月10日の午前9時から午後5時まで2時間ごと
0 9,17 10 * *毎月10日の午前9時と午後5時
0/5 9-17 15 3 *3月15日の午前9時から午後5時55分まで5分ごと
0/5 9,17 15 3 *3月15日の午前9時から午前9時55分まで、および午後5時から午後5時55分まで5分ごと
0 9 L * *毎月の最終日の午前9時
0 9 L 2 *2月の最終日の午前9時
0 9 * * L土曜日の午前9時
0 9 * * 2L毎月の最後の火曜日の午前9時
0 9 * 4 3#14月の第1水曜日の午前9時
0 9 20 * 4毎月20日および木曜日の午前9時

時刻の変更

すべての時刻トリガーは、指定したタイムゾーンの時計時刻を使用して評価されます。cron 式を満たす時計時刻になるたびに、時刻トリガーが満たされます。時刻の変更は、次のように処理されます。

  • 時刻が進められた場合、変更前と変更後の時刻の間で満たされるはずの時刻トリガーは満たされません
  • 時刻が戻された場合、変更前と変更後の時刻の間で満たされる時刻トリガーは2回満たされます

例:

  • 時刻が午前1時から午前2時に進められた場合、午前1時30分にはならないため、午前1時30分に満たされるはずの時刻トリガーは満たされません
  • 時刻が午前2時から午前1時に戻された場合、午前1時30分が2回訪れるため、午前1時30分に満たされる時刻トリガーは2回満たされます

イベントトリガー

イベントトリガーは、指定したイベントが発生すると満たされるトリガーです。トリガー全体が満たされてスケジュールが実行されるまで、満たされた状態が維持されます。

イベントの種類

スケジュールエディターは、現在、次の種類のイベントをサポートしています。

  • 新しいロジック: データセットを計算するロジックが更新されたときに発生します。
  • データの更新: データセットを更新するトランザクションがコミットされたときに発生します。
  • ジョブは成功しました: トランザクションがコミットされたかどうかにかかわらず、データセットのジョブが完了したときに発生します。
  • メディアセットの更新: メディアセットが更新されたときに発生します。トランザクション型のメディアセットでは、トランザクションがコミットされたときに発生します。トランザクションなしのメディアセットでは、更新後にいずれ発生しますが、必ずしも即座に発生するとは限りません。
  • スケジュールの実行成功: スケジュールされたビルドが正常に完了したときに発生します。
  • スケジュールの実行失敗: スケジュールされたビルドに失敗したときに発生します。
  • テーブルの更新: テーブルを更新するトランザクションがコミットされたときに発生します。

複合トリガー

複合トリガーは、AND トリガーと OR トリガーを使って複数の構成トリガーを組み合わせることで作成されます。

  • AND トリガーは、構成トリガーの論理積となるトリガーを作成します。
  • OR トリガーは、構成トリガーの論理和となるトリガーを作成します。

例:

次の例では、T1、T2 は時刻トリガー、E1、E2 はイベントトリガーです。

トリガー意味
AND(T1, E1)E1 が発生済みの場合、T1 の時刻に条件が満たされます
OR(T1, E1)T1 の時刻、または E1 が発生したときに条件が満たされます
AND(T1, T2) [1]T1 と T2 の両方を満たす時刻に条件が満たされます
OR(T1, T2)T1 または T2 のいずれかの時刻に条件が満たされます
AND(E1, E2)E1 と E2 の両方が発生したときに条件が満たされます
OR(E1, E2)E1 または E2 のいずれかが発生したときに条件が満たされます
AND(T1, OR(E1, E2))E1 または E2 のいずれかが発生済みの場合、T1 の時刻に条件が満たされます
OR(T1, AND(E1, E2))T1 の時刻、または E1 と E2 の両方が発生したときに条件が満たされます

[1] 複数の時刻トリガーを組み合わせた AND トリガーを作成すると、すべての時刻トリガーの時刻が一致したときにのみ条件が満たされます。たとえば、毎日のトリガーと毎時のトリガーを組み合わせた AND トリガーは、1日に1回しか条件が満たされません。代わりに、より具体的な単一の時刻トリガーを使用してください。この例では、AND トリガーを毎日のトリガーのみに置き換えてください。