# MySQL - Scheduled Query (特定の時間に実行するクエリー) トリガー

# New/updated batch of rows via scheduled custom SQL (特定の時間に実行するカスタム SQL を介した新規行/更新行のバッチ)

このトリガーは、ユーザーが指定した間隔で実行されるユーザー定義クエリーから返される行を取得します。バッチアクションのトリガーであり、返された行をバッチ処理します。

New/updated row トリガー New/updated row トリガー

入力項目 説明
SQL 新規行を取得するためにポーリング間隔ごとに実行されるカスタム SQL クエリー
Schedule SQL を実行する頻度を選択します。
Timezone スケジュールを設定するタイムゾーンを選択します。
Hour SQL クエリーを実行する時刻 (時) を設定します。
Minute SQL クエリーを実行する時刻 (分) を設定します。
Day of month SQL クエリーを実行する日付を設定します。
Days of week SQL クエリーを実行する曜日を選択します。
Batch size このレシピの各ジョブで処理するバッチサイズを設定します。このサイズは、デフォルトでは100に設定されます。

# 入力項目の詳細

# SQL

行を選択するために実行する SQL を指定します。ここで指定する SQL は、出力データツリーの生成に使用されます。これを生成するために、SQL クエリーは指定時に一度実行されます。データピルをここにマッピングして、動的に変化する SQL 文を実行できます。データピルは必ず一重引用符 ('') で囲んでください。WHERE 句を使用すると以前のジョブ実行で処理済みの行を取得しないようにできるので、そうしたい場合に含めるようにしてください。この処理は、テーブルの updated_at または created_at のタイムスタンプ列に基づいて行を修飾することで実行できます。

select * 
from contacts
where contacts.created_at between now() and now() + INTERVAL 1 DAY;

SQL で TOP のような制限句を使用しないでください。これは、クエリーで返される行数の制限が、 [Batch size] 入力項目で定義される値に基づいているためです。独自の制限句を追加すると、このアクションは失敗します。

# Schedule

統合のユースケースに必要なスケジュールの種類を選択します。この入力項目はピックリストで、以下のいずれかを選択できます。

  • hourly
  • daily
  • monthly

# Timezone

スケジューラを設定するタイムゾーンを選択します。これは必須項目です。

# Hour

SQL クエリーを実行する時刻 (時) を設定します。これは、[Schedule][daily] または [monthly] を選択している場合にのみ必須になります。

# Minute

SQL クエリーを実行する時刻 (分) を設定します。これは常に必須です。

# Day of month

日付として 1~31 の間の値を入力します。短い月の場合、この値は月の最後の日付になることがあります。たとえば、値に 31 を指定しており、その月が31日より前に終わる場合、トリガーは月の最後の日 (たとえば2月28日、3月31日、4月30日など) に SQL クエリーを実行します。

これは、[Schedule] に [monthly] を選択している場合にのみ必要になります。任意の項目であり、空のままにするとデフォルトで月の最初の日に設定されます。

# Days of week

SQL クエリーを実行する曜日を選択します。これは、[Schedule][hourly] または [daily] を選択している場合にのみ必須になります。[hourly] を選択している場合、トリガーはここで選択した曜日に1時間ごとに SQL クエリーを実行します。

# Batch size

各ジョブで返される行のバッチサイズ。これには、 1 ~最大バッチサイズ間の任意の数を指定できます。最大バッチサイズは 100 で、デフォルトは 100 です。

指定されたポーリングにおいて、行数が設定されたバッチサイズよりも少ない場合、このトリガーはすべての行をサイズの小さなバッチとして処理します。


Last updated: 2023/8/31 1:07:14