データストア
この記事では、データストアの基本的な概念と使用方法を説明します。
・1つのプロジェクト内に存在する複数のワークフローで、共通の変数を利用したい時
・繰り返しのエラーを途中から再開したい時
データストアとは
データストアには、ある1つのプロジェクトの内部で使用可能な変数を格納(store)できます。
データストアに格納された変数とその値は、そのプロジェクト内部の全てのワークフローで利用可能です。
通常のAUTORO内で使用される変数(StoreValueアクション)は、その変数が設定されているワークフローが実行されている時のみ、値を使用することができます。
一方、データストアに保存されている変数とその値は、ワークフローが実行されていなくても、変数の更新・確認・追加・削除の操作が可能です。
これらの操作は、プロジェクトのデータストア画面から手動操作することができます。
加えて、プロジェクト内に存在する全てのワークフローから、DataStore系のアクションを使用してデータストアの値を使用できます。
具体的には、以下のようなケースで使用されます。
- 複数のワークフローで、データストアに存在する1つの変数Aの値を参照/更新し、Aの値に応じた条件分岐処理を実行させたい
- 長時間のForEach処理が必要な場合、ForEachで繰り返す要素(配列)をデータストアに保存しておき、先入先出で一定回数ずつ処理したい場合
以下より、データストアの基本的な使用方法を紹介します。
データストアに保存できる値の型と容量
データストアには、データ型を問わず値の保存が可能です。
二次元配列や、要素がオブジェクトである配列であっても保存可能です。
ただし、値は65,000文字以内を推奨します。(上限サイズ:65,535バイト)
※要素がオブジェクトである配列などであっても、後述するデータストア管理画面では文字列として表示されています。この文字列の文字数が65,000文字を超えた場合、値の保存が出来ない場合があります。
※保存される際の文字コードがUTF-8となっているため、半角全角の組み合わせによっては保存可能文字数が65,000文字より少なくなる場合があります。
データストア管理画面の操作方法
データストア管理画面の使用方法を紹介します。
データストア管理画面は、プロジェクト内部から開くことができます。
- データストア画面を開きます。
- +追加をクリックします。
- 変数名を入力します。
- 値を入力します。
- 保存をクリックします。
既存のデータストア変数の変数名,値を編集/更新することが可能です。
- 編集したい変数の行に存在する編集ボタンをクリックします。
- 変数名を編集します。
- 値を編集します。
- 編集ボタンをクリックします。
既存のデータストア変数を値ごと削除できます。
- 削除したい変数の行に存在する削除ボタンをクリックします。
- 表示されたポップアップから「はい、削除します」をクリックします。
検索バーから、既存のデータストア変数を検索できます。変数名、値の両方から検索が可能です。
DataStore系アクションの紹介
ワークフロー内でデータストアを直接操作できるアクションは、以下の3つです。
この3つの基本的な使用方法は以下となります。
- DataStoreSave(データを保存する)
- DataStoreGet(データを取得する)
- DataStoreDelete(データを削除する)
データストアに変数を新規追加/上書き保存します。
アクションのアウトプットは、保存された値です。
キーに指定した変数名を持つ変数が既にデータストア内に存在する場合、値は上書き保存されます。
キーに指定した変数名を持つ変数がデータストアに存在しない場合、このアクションのキーに指定した変数名を持つデータストア変数が、新規追加されます。
既に存在するデータストア変数をワークフロー内に呼び出すアクションです。
アクションのアウトプットは、呼び出したデータストア変数の値です。
データストアから変数を呼び出すためには、変数名(key)に、データストアから呼び出したい変数を直接入力するか、アクション右端二番目の三ボタンから呼び出したい値を直接選択してください。
具体的な使用方法は、ワークフロー設定例で後述します。
既存のデータストア変数が、データストアから削除されます。
値のみが削除されるのではなく、変数そのものが値と一緒に削除されます。
アクションのアウトプットはTrueまたFalse(Boolean)のいずれかです。
ワークフロー設定例:DataStoreの値を更新する
以下のケースを想定したワークフローの設定例を紹介します。データストアに格納された変数をワークフロー内で呼び出し、呼び出したデータストア変数の値に2を加算し(上書き)保存する
変数名:
downloadCount
値:8
- DataStoreGetアクションを設定します。
- downloadCountを選択します。
- StoreValueアクションを設置します。
(これによりデータストアから取得した値をワークフロー内部で使用できるようになります。) - 変数名にdlCountと入力し、値はDataStoreGetのアウトプットとします。
※変数名は任意ですが、単純化のためdlCountとします。 - 任意:Textアクションを設置し、テキストログを残します。
データストア変数downloadCountの値は${dlCount}です 2を加算すると${parseInt(dlCount) + 2}になります。
- DataStoreSaveを追加します。
- 変数名はDataStoreGetと同じにする必要があります。よってdownloadCountと入力します。
- 値に以下を入力します。
${parseInt(dlCount) + 2}
# データを取得する +data_store_get_1: action>: DataStoreGet key: downloadCount # 変数に保存_ログ表示のため +store_value_1: action>: StoreValue key: dlCount value: +data_store_get_1 # テキストを作成_ログ用 +text_1: action>: Text text: "データストア変数downloadCountの値は${dlCount}です\n2を加算すると${parseInt(dlCount) + 2}になります。" # データを保存する_更新 +data_store_save_1: action>: DataStoreSave key: downloadCount value: ${parseInt(dlCount) + 2}