Triggerサンプルコード集
Triggerのサンプル集です。時刻指定やEntityの状態に応じてPipelineを実行することができます。
他のアセットと異なり、本アセット単体では動作しません。
想定ユーザー
- Triggerを利用し、独自のアプリケーションを構築したいユーザー。
- Entityの状態に応じてPipelineを実行したいユーザー。
- Pipelineを定期実行したいユーザー。
Triggerサンプル一覧
ワークスペース名 | 機能 |
---|---|
ws1 | Entityに新しい値が格納されたらPipelineを実行する |
ws2 | 2つのEntityに値が格納されたら数値かどうかを判断して、両方とも数値だったらPipelineを実行する |
ws3 | 1時間ごとにTrigger内でイベントを発生させる。イベントのタイミングで「平日かつ時刻部が10時(GMT標準時)」に一致する場合、Pipelineを実行する。 |
ws4 | 5分おきにPipelineを実行する |
ws5 | 毎日定時でPipeline実行する |
ws6 | 1時間ごとにTrigger内でイベントを発生させる。イベントのタイミングで「日付が1日かつ時刻部が10時(JST)」に一致する場合、Pipelineを実行する。 |
ws7 | Pipelineの処理中に新たなタスクを開始させない |
各Triggerサンプル詳細
ws1
Entityに新しい値が格納されたらPipelineを実行する

利用方法
- デプロイ前のCanvasの設定
- ws1内をコピーし、使用したいCanvasに貼り付ける。
- Endpointの許可IPアドレスを必要に応じて設定する。
- Pipeline内の "+" ボタンを押し、使用したいFunctionを設定する。少なくとも、FunctionのIDとimage (image URI) を入力する。
- デプロイ後の動作
- Entityに登録したいデータを送る。
- Dataエンティティの場合
curl -X POST "https://studio.{env-name}.studio.exabase.ai/{namespace-id}/{workspace-id}/data" \
-H 'Content-Type: application/json' \
-d '{"data": {"name": "John"}}' - Fileエンティティの場合
curl -X POST "https://studio.internal.studio.exabase.ai/3576a86c7aa9c128/ws1/file" \
-F file=@{filename}
- Dataエンティティの場合
- Pipelineが実行される。
- Entityに登録したいデータを送る。
ws2
2つのEntityに値が格納されたら数値かどうかを判断して、両方とも数値だったらPipelineを実行する

利用方法
- デプロイ前のCanvasの設定
- ws2内をコピーし、使用したいCanvasに貼り付ける。
- Endpointの許可IPアドレスを必要に応じて設定する。
- 数値判定の条件を調整する必要があれば、Triggerのコードの
isNumeric
関数の実装を変更する。 - Pipeline内の "+" ボタンを押し、使用したいFunctionを設定する。少なくとも、FunctionのIDとimage (image URI) を入力する。
- デプロイ後の動作
- 該当のエンドポイントURL+"data"にEntityに登録したいデータを送る。
curl -X POST "https://studio.{env-name}.studio.exabase.ai/{namespace-id}/{workspace-id}/data" \
-H 'Content-Type: application/json' \
-d '{"data": 2}' - 各Entityに格納された値が数値であれば、Pipelineが実行される。
- 該当のエンドポイントURL+"data"にEntityに登録したいデータを送る。
ws3
1時間ごとにTrigger内でイベントを発生させる。イベントのタイミングで「平日かつ時刻部が10時(GMT標準時)」に一致する場合、Pipelineを実行する。

利用方法
- デプロイ前のCanvasの設定
- ws3内をコピーし、使用したいCanvasに貼り付ける。
- 実行時刻を変更したい場合は、Triggerのコードの
return dayOfWeek >= 1 && dayOfWeek <= 5 && hour === 10;
の箇所を変更する。 - Pipeline内の "+" ボタンを押し、使用したいFunctionを設定する。少なくとも、FunctionのIDとimage (image URI) を入力する。
- デプロイ後の動作
- 1時間ごとに発生するイベントのタイミングが、平日で、時刻部が指定の数値に合致する際に、Pipelineが実行される。
ws4
5分おきにPipelineを実行する

利用方法
- デプロイ前のCanvasの設定
- ws4内をコピーし、使用したいCanvasに貼り付ける。
- 実行間隔を変更したい場合は、Triggerのコードの
IntervalMilliSeconds
の値を変更する。 - Pipeline内の "+" ボタンを押し、使用したいFunctionを設定する。少なくとも、FunctionのIDとimage (image URI) を入力する。
- デプロイ後の動作
- 指定した実行間隔の時間ごとにPipelineが実行される。
ws5
毎日定時でPipeline実行する

利用方法
- デプロイ前のCanvasの設定
- ws5内をコピーし、使用したいCanvasに貼り付ける。
- 実行時刻を変更したい場合は、Triggerのコードの
return hour === '2' && min === '05';
の箇所を変更する。 - Pipeline内の "+" ボタンを押し、使用したいFunctionを設定する。少なくとも、FunctionのIDとimage (image URI) を入力する。
- デプロイ後の動作
- 毎日指定時刻にPipelineが実行される。
ws6
1時間ごとにTrigger内でイベントを発生させる。イベントのタイミングで「日付が1日かつ時刻部が10時(JST)」に一致する場合、Pipelineを実行する。

利用方法
- デプロイ前のCanvasの設定
- ws6内をコピーし、使用したいCanvasに貼り付ける。
- 実行日時を変更したい場合は、Triggerのコードの
return jstTime.getDate() === 1 && jstTime.getHours() === 10;
の箇所を変更する。 - Pipeline内の "+" ボタンを押し、使用したいFunctionを設定する。少なくとも、FunctionのIDとimage (image URI) を入力する。
- デプロイ後の動作
- 1時間ごとに発生するイベントのタイミングが、指定日で、時刻部が指定の数値に合致する際に、Pipelineが実行される。
ws7
Pipelineの処理中に新たなタスクを開始させない

利用方法
- デプロイ前のCanvasの設定
- ws7内をコピーし、使用したいCanvasに貼り付ける。
- Endpointの許可IPアドレスを必要に応じて設定する。
- 使用したいFunctionのimage (image URI) を入力する。また、Entity e2に接続したFunctionのOutputを、Pipeline処理中でないことを表す
false
などの値に更新するように実装する。
- デプロイ後の動作
- Entity e1の値を更新した際、Pipelineが処理中でなければ、Pipelineの処理を開始する。