MySQL - スケジュール済みクエリトリガー
スケジュール済みカスタムSQLによる新規/更新済み行のバッチ
このトリガーは、ユーザー定義の間隔で実行されるユーザー定義クエリから返された行を取得します。 これはバッチアクショントリガーであり、返された行をバッチで処理します。
新規/更新済み行トリガー
| 入力フィールド | 説明 |
|---|---|
| SQL | 新しい行を取得するために各ポーリング間隔で実行されるカスタムSQLクエリ。 |
| スケジュール | SQLを実行する頻度を選択します。 |
| タイムゾーン | スケジュールに設定するタイムゾーンを選択します。 |
| 時 | SQLクエリを実行する時刻の時を設定します。 |
| 分 | SQLクエリを実行する時刻の分を設定します。 |
| 月の日 | SQLクエリを実行する月の日を設定します。 |
| 曜日 | SQLクエリを実行する曜日を選択します。 |
| バッチサイズ | このレシピの個々のジョブで処理するバッチサイズを設定します。 デフォルトは100です。 |
入力フィールドの詳細
SQL
行を選択するために実行するSQLを指定します。 ここで指定したSQLは、出力データツリーの生成に使用されます。 これを行うために、SQLは指定時に1回実行されます。 ここでデータピルをマッピングして、動的に変化するSQLステートメントを実行できます。 データピルは引用符('')で囲むことを忘れないでください。 意図している場合は、以前のジョブ実行で処理済みの行を取得しないようにするため、必ずいくつかのWHERE句を含めてください。 これは、テーブル内のupdated_atまたはcreated_atタイムスタンプ列に基づいて行を限定することで実行できます。
select *
from contacts
where contacts.created_at between now() and now() + INTERVAL 1 DAY;SQLでTOPのような制限句を使用しないでください。 これは、クエリで返される行数の制限が、バッチサイズ入力フィールドで定義された値に基づいているためです。 独自のlimit句を追加すると、アクションは失敗します。
スケジュール
インテグレーションのユースケースに必要なスケジュールのタイプを選択します。 この入力フィールドは、次の選択肢があるピックリストです。
- 毎時
- 毎日
- 毎月
タイムゾーン
スケジューラーに設定するタイムゾーンを選択します。 これは必須フィールドです。
時
スケジュール済みSQLクエリを実行する時刻の時を設定します。 これは、スケジュールとして毎日または毎月を選択した場合にのみ必要です。
分
スケジュール済みSQLクエリを実行する時刻の分を設定します。 これは常に必須です。
月の日
月の日として1~31の値を指定します。 日数の少ない月では、値が月の最終日に切り下げられる場合があります。 例:値31を使用し、その月が31日より前に終わる場合、トリガーは月の最終日にSQLクエリを実行します(例:2月28日、3月31日、4月30日など)
スケジュールとして毎月を選択した場合にのみ必要です。 これは任意フィールドであり、空のままにするとデフォルトで月の初日になります。
曜日
スケジュール済みSQLクエリを実行する曜日を選択します。 これは、スケジュールとして毎時または毎日を選択した場合にのみ必要です。 毎時を選択した場合、トリガーはここで選択された曜日にSQLを1時間ごとに実行します。
バッチサイズ
各ジョブで返す行のバッチサイズ。 これは1から最大バッチサイズまでの任意の数値にできます。 最大バッチサイズは100で、デフォルトは100です。
任意のポーリングで、行数が設定されたバッチサイズより少ない場合、このトリガーはすべての行をより小さいバッチとして配信します。
Last updated: