メインコンテンツまでスキップ

Triggerサンプルコード集

logo

Triggerのサンプル集です。時刻指定やEntityの状態に応じてPipelineを実行することができます。

他のアセットと異なり、本アセット単体では動作しません。

想定ユーザー

  • Triggerを利用し、独自のアプリケーションを構築したいユーザー。
  • Entityの状態に応じてPipelineを実行したいユーザー。
  • Pipelineを定期実行したいユーザー。

Triggerサンプル一覧

ワークスペース名機能
ws1Entityに新しい値が格納されたらPipelineを実行する
ws22つのEntityに値が格納されたら数値かどうかを判断して、両方とも数値だったらPipelineを実行する
ws31時間ごとにTrigger内でイベントを発生させる。イベントのタイミングで「平日かつ時刻部が10時(GMT標準時)」に一致する場合、Pipelineを実行する。
ws45分おきにPipelineを実行する
ws5毎日定時でPipeline実行する
ws61時間ごとにTrigger内でイベントを発生させる。イベントのタイミングで「日付が1日かつ時刻部が10時(JST)」に一致する場合、Pipelineを実行する。
ws7Pipelineの処理中に新たなタスクを開始させない

各Triggerサンプル詳細

ws1

Entityに新しい値が格納されたらPipelineを実行する

ws1

利用方法

  1. デプロイ前のCanvasの設定
    1. ws1内をコピーし、使用したいCanvasに貼り付ける。
    2. Endpointの許可IPアドレスを必要に応じて設定する。
    3. Pipeline内の "+" ボタンを押し、使用したいFunctionを設定する。少なくとも、FunctionのIDとimage (image URI) を入力する。
  2. デプロイ後の動作
    1. 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}
    2. Pipelineが実行される。

ws2

2つのEntityに値が格納されたら数値かどうかを判断して、両方とも数値だったらPipelineを実行する

ws2

利用方法

  1. デプロイ前のCanvasの設定
    1. ws2内をコピーし、使用したいCanvasに貼り付ける。
    2. Endpointの許可IPアドレスを必要に応じて設定する。
    3. 数値判定の条件を調整する必要があれば、Triggerのコードの isNumeric 関数の実装を変更する。
    4. Pipeline内の "+" ボタンを押し、使用したいFunctionを設定する。少なくとも、FunctionのIDとimage (image URI) を入力する。
  2. デプロイ後の動作
    1. 該当のエンドポイント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}'
    2. 各Entityに格納された値が数値であれば、Pipelineが実行される。

ws3

1時間ごとにTrigger内でイベントを発生させる。イベントのタイミングで「平日かつ時刻部が10時(GMT標準時)」に一致する場合、Pipelineを実行する。

ws3

利用方法

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

ws4

5分おきにPipelineを実行する

ws4

利用方法

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

ws5

毎日定時でPipeline実行する

ws5

利用方法

  1. デプロイ前のCanvasの設定
    1. ws5内をコピーし、使用したいCanvasに貼り付ける。
    2. 実行時刻を変更したい場合は、Triggerのコードの return hour === '2' && min === '05'; の箇所を変更する。
    3. Pipeline内の "+" ボタンを押し、使用したいFunctionを設定する。少なくとも、FunctionのIDとimage (image URI) を入力する。
  2. デプロイ後の動作
    1. 毎日指定時刻にPipelineが実行される。

ws6

1時間ごとにTrigger内でイベントを発生させる。イベントのタイミングで「日付が1日かつ時刻部が10時(JST)」に一致する場合、Pipelineを実行する。

ws6

利用方法

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

ws7

Pipelineの処理中に新たなタスクを開始させない

ws7

利用方法

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