はじめに
Workatoのレシピのうえ、ポーリングとスケジュールをトリガーとするレシピでは、Workatoがどの行まで処理を行ったかを示す「カーソル」の情報がレシピ内部に保持されています。
このため、例えばデータソースを変更するようなコネクションの設定変更をレシピ運用開始後に行うと、想定と異なるデータが返される、想定と異なるデータが変更される等、予期しない動作が生じる場合があります。
以上のような予期しない動作が生じた場合、これまでは運用中のレシピをコピー後、コピーしたレシピに運用を移行する(切り替える)必要がありました。
(コピー先のレシピではカーソルが初期化される=カーソルが引き継がれないため、事象が解消される場合があります)
今回、WorkatoのEmbedded APIを利用した方法ではありますが、レシピのカーソルの初期化に対応しましたので、その方法についてご説明します。
この方法を用いることで、カーソルの初期化のためにレシピをコピーして運用を切り替えるという方法が不要となります。
手順
以下のAPIエンドポイントに対してリクエストを行います。
POST /api/recipes/:recipe_id/reset_trigger
cURLで実行する場合は、次の通りとなります。なお、これ以外のパラメータは不要です。
curl -X POST https://www.workato.com/api/recipes/<レシピID>/reset_trigger \
-H 'x-user-email: <email>' \
-H 'x-user-token: <token>'
<レシピID>
には各レシピを開いた際のURLに記載されているレシピID(赤枠で示した値)を入力します。
<email>
と <token>
は、WorkatoのワークスペースオーナーとなるユーザーでWorkatoへログインし、Account settingsの「API key」で表示される値を入力します。
参考情報