データソースの取得タスク
サーバーからデータソース・タスクをフェッチする。
識別子:fetch_datasource_task
エレメント
- datasource_id:タスクを受け取るデータソースの ID。
- sheet_revision:使用したいデータソースのリビジョン。
- payload_variable_name:フェッチされたタスクのペイロードが変換され、ここで指定されたキーを持つコンテキストに格納されます。
- task_variable_name:ここで指定されたキーを持つコンテキストに、タスクオブジェクトが格納される。
- datasource_task_id:フェッチすべきタスクの ID。
- request_new:新しい空のタスクを取得するかどうかを示す(datasource_task_id を指定する代わりに)。
- row_count:新しいタスクをリクエストしたときに、空のタスクが持つべき行数。
- connection_timeout:ミリ秒単位のタイムアウト。
出力
このイベントのイベント・タグはfetch_datasource_task
である。
- OK:データソースタスクが正常に取得されました。
- ERROR: タスクのフェッチ中にエラーが発生しました。サーバーがエラーメッセージを提供する場合、それはペイロードの中にある。ペイロードは以下のような構造になっている:
- エラー
- エラーメッセージ
- エラークラス
- エラーカテゴリ
- エラーコード
- TIMEOUT:サーバーが指定された時間内に応答を送信しなかった
(connection_timeout)
例
フェッチデータソースタスクは通常、データソース入力と組み合わせて使われる:
<fetch_datasource_task id="fetch_datasource_task">
<param name="datasource_id" type="string">§{ configuration.datasource.value.id }§</param>
<param name="sheet_revision" type="string">§{ configuration.datasource.value.selectedRevision }§</param>
<param name="payload_variable_name" type="string">ds_§{ replace configuration.datasource.value.id '-' '' }§</param>
<param name="task_variable_name" type="string">ds_§{ replace configuration.datasource.value.id '-' '' }§_task</param>
<param name="request_next" type="bool">§{ #if configuration.enable_scan.value}§false§{else}§true§{/if}§</param>
<param name="request_new" type="bool">§{ #if configuration.request_new.value}§true§{else}§false§{/if}§</param>
<param name="row_count" type="long">§{ configuration.row_count.value }§</param>
<param name="datasource_task_id" type="string">#{task_id}</param>
<param name="connection_timeout" type="string">?{§{configuration.timeout.value}§*1000}?</param>
</fetch_datasource_task>
データソースの更新タスク
サーバー上のデータソース・タスクを更新する。
識別子:update_datasource_task
エレメント
- datasource_task_id:変更するタスクのIDを含む。これはデータソースの設定で識別子として設定されたカラムの値である。
- rows:変更する行オブジェクトを含む。
- payload_variable_name:コンテキストにタスクのペイロードが格納される変数。
- connection_timeout:ミリ秒単位のタイムアウト値。
出力
このイベントのイベント・タグはupdate_datasource_task
である。
- OK:データソースタスクが正常に取得されました。
- ERROR: タスクのフェッチ中にエラーが発生しました。サーバーがエラーメッセージを提供する場合、それはペイロードの中にある。ペイロードは次のような構造になっている。
- エラーメッセージ
- エラークラス
- エラーカテゴリ
- エラーコード
- TIMEOUT:サーバーが指定された時間内に応答を送信しなかった
(connection_timeout)
例
データソース・タスクはデータソース入力と組み合わせて使うことができる。datasource_task_idと
payload_variable_nameの
パラメータは、データが保存されている場所に依存します。以下の例はfetch_datasource_task
入力アクションで示される例で動作します:
<update_datasource_task id="update_ds_with_row">
<param name="datasource_task_id" type="string">?{context.ds_§{ replace validation.datasource.value.id '-' '' }§_task.id}?</param>
<param name="rows">#{current_row}</param>
<param name="payload_variable_name">ds_§{ replace validation.datasource.value.id '-' '' }§</param>
</update_datasource_task>
データソース・タスク・ステータスの更新
データソースタスクのステータスを更新する。
識別子:update_datasource_task_status
エレメント
- datasource_task_id:フェッチすべきタスクのIDを含む。これはデータソースの設定で識別子として設定されたカラムの値である。
- ステータス:タスクの現在のステージ (
DONE
、CANCELED
、PAUSED
、IN_PROGRESS
など)。 - connection_timeout:ミリ秒単位のタイムアウト値。
出力
このイベントのイベント・タグはupdate_datasource_task_status
です。
- OK:データソースタスクが正常に取得されました。
- ERROR: タスクのフェッチ中にエラーが発生しました。サーバーがエラーメッセージを提供する場合、それはペイロードの中にある。ペイロードは次のような構造になっている。
- エラーメッセージ
- エラークラス
- エラーカテゴリ
- エラーコード
- TIMEOUT:サーバーが指定された時間内に応答を送信しなかった
(connection_timeout)
例
この例では、データソース入力と組み合わせて使用できることを示している:
<update_datasource_task_status id="cancel_ds_task">
<param name="datasource_task_id" type="string">?{context.ds_§{ replace validation.datasource.value.id '-' '' }§_task.id}?</param>
<param name="status" type="string">CANCELED</param>
<param name="connection_timeout" type="string">10000</param>
</update_datasource_task_status>