0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

【BizRobo! Link】面倒なデータ加工や設定管理もスッキリ! DataStand 機能活用ガイド

0
Posted at

はじめに

前回は Decision Table について見てきました。

今回はもう一つの内蔵機能である DataStand の紹介をします。

DataStand とは

DataStand(データスタンド)は、BizRobo! のロボットとデータの間の「中継地点」として機能する、データ管理プラットフォームです。
これまでは、ロボット自身がExcelファイルを開いて複雑な加工を行ったり、設定ファイルを各端末に配置して回ったりする必要がありました。DataStandを利用することで、データの「準備(加工)」「分配(実行)」「設定(変数)」をサーバー側で一元管理できるようになります。これにより、ロボット開発の負担を減らしながら、複数台ロボットによる並行処理や、柔軟な運用変更を即座に実現します。

DataStand を構成する3つの機能

DataStandは、以下の3つのコア機能によって構成されています。

Handler

「データの準備と加工を、もっと自由に」
Handlerは、スプレッドシート(Excel/CSV)上のデータをブラウザ上で容易に操作・加工するための機能です。
これまでロボット内部で複雑なロジックを組んで行っていた「列の結合」「重複削除」「フィルタリング」といった前処理を、直感的なUI操作で完了させ、後続の Task Queue へシームレスにデータを流し込むことができます。

Task Queue

「タスクの直列処理から、並列シェアへ」
Handlerから取り込まれたデータを、ロボットが効率よく処理するためのタスク管理機能です。
従来のRPA開発では、ロボットがExcelの1行目から順にループ処理を行う「直列処理」が一般的でした。Task Queueはタスクリストをサーバー側で管理し、ロボットからの要求に応じて「未処理のタスク」を1件ずつ切り出します。これにより、1つのタスクリストを複数のロボットで同時に取りに行く「並行処理(シェア)」が可能になり、大量データの処理時間を劇的に短縮します。

Garage

「設定ファイル管理からの解放」
Garageは、これまで各端末のローカルフォルダに config.xlsx などの形で散在していたロボット用の設定変数を、Web管理画面上で集中的に管理する機能です。
単なるキーバリューストアではありません。「適用期間」や「優先度」の設定が可能です。「キャンペーン期間中だけこの値を使う」「年末年始だけ処理モードを変える」といった制御を、ロボットのコードを一切変更することなく、サーバー側の設定を予約しておくだけで実現できます。


BizRobo! Link における Handler

Handlerを利用する最大のメリットは、「不完全なデータをロボットに渡さない」 ことにあります。事前にデータをクレンジングし、整形された状態(Task)にしてからロボットに渡すことで、ロボット側のエラーハンドリング処理を大幅に削減できます。

画面と機能

image.png

ファイル読込・編集画面
上記は、Excelファイルを読み込ませた直後の画面です。ブラウザ上でスプレッドシートのようにデータを閲覧できます。
ツールバーには「列結合」「列分割」「重複行削除」などの機能が備わっており、ロボットが扱いやすい形式にデータを加工できます。加工が完了したら、「Task登録」ボタンを押すだけで、即座に後続のQueueへデータが投入されます。

image.png

ロボット連携画面(スタンドアローンモード)
こちらは、ロボットがコネクターを通じてデータを渡し、動的に生成されたページです。
「ファイルパス」や「データ(JSON/CSV文字列)」を渡して Handler起動 アクションを実行すると、ロボット専用のURLが発行されます。ロボットがこのURLを開くことで、スプレッドシートの情報をロボットが効率的に処理できます。

image.png

Handler Sessions 一覧
現在編集中のデータや、ロボットが生成した一時的なセッションの一覧です。データサイズや最終更新日時を確認でき、不要になったセッションの管理もここで行えます。

実行方法

Handlerには、大きく分けて「人が主体となる実行」と「ロボットが主体となる実行」の2つのパターンがあります。

人による実行

  1. 管理画面からHandlerを開き、手元のExcelやCSVファイルをアップロードします。
  2. 画面上でデータの不備(空白や重複)を確認し、フィルタリングや削除機能を使ってデータをきれいにします。
  3. 処理対象のTask Queue名(例: Invoice_Data)を指定して「Task登録」を実行します。
  4. これにより、データがサーバー上のキューに格納され、待機中のロボットが即座に処理を開始できる状態になります。

ロボットによる実行

  1. ロボット内の API_DataStand コネクターを使用し、Handler起動 アクションを実行します。この際、処理したいデータやファイルパスを引数として渡します。
  2. コネクターが編集用のURLを返します。
  3. ロボットは 参照 ステップでそのURLを開き、ユーザーの操作を待機(Wait)します。
  4. ユーザーがブラウザ上でデータを確認・修正し、「Task登録」ボタンを押すと、データがキューに送られ、ロボットは次の処理へ進みます。

image.png


BizRobo! Link における Task Queue

Task Queueを導入することで、ロボットの 「スケーラビリティ(拡張性)」と「堅牢性」 が飛躍的に向上します。処理件数が増えた場合でも、ロボットの台数を増やすだけで対応可能になります。

画面と機能

image.png

Queue サマリー画面
現在稼働しているキューの一覧が表示されます。各キューの「未処理(Total)」「完了(Done)」「処理中(Processing)」「エラー(Error)」の件数がひと目でわかり、進捗状況をリアルタイムにモニタリングできます。

image.png

タスク詳細画面
特定のキュー内のタスク一覧です。各行が1つの処理単位を表しています。
ここでは、タスクごとのステータス確認だけでなく、エラーになったタスクの内容(JSONデータ)を確認したり、手動でステータスを変更したりすることができます。

実行方法

Task Queueは、ロボットが自律的に仕事を取りに行く「プル型」の実行モデルを採用しています。

人による実行(管理・運用)

  • モニタリング: 管理画面から、現在どのロボットがどのタスクを処理しているかを確認できます。
  • リカバリー: エラーになったタスクの内容を修正し、ステータスを「未着手」に戻すことで、ロボットに再処理させることができます。
  • 緊急タスク投入: ロボットが稼働中であっても、HandlerやAPI経由で優先度の高いタスクを追加投入することが可能です。

ロボットによる実行

  1. ロボットはコネクターの 次タスク取得 (queue.next) アクションを実行します。
  2. サーバーは「未着手」の中で最も古いタスクを1つ選び、ステータスを「処理中」に変更した上で、データをロボットに返します(排他制御)。
  3. ロボットは受け取ったデータに基づいて業務処理を行います。
  4. 処理が終わったら タスク更新 (queue.update) アクションで、結果に応じてステータスを「完了」または「エラー」に更新します。
  5. このサイクルを繰り返します。他のロボットを追加起動すれば、自動的に同じキューからタスクを取り合い、処理速度が倍増します。

次のタスク取得 の実行とデータ連動
image.png

image.png

タスク更新 の実行とデータ連動
image.png

image.png


BizRobo! Link における Garage

Garageを利用することで、ロボットの運用における 「設定変更のリードタイム」 をなくすことができます。変数の変更が必要になった際、ロボットを止めてファイルを書き換える必要はもうありません。

画面と機能

image.png

Garage 変数一覧画面
プロジェクトごとに定義された変数の一覧です。
同じ「データ名(Key)」に対して、複数の設定を持たせることができるのが特徴です。一覧では「現在有効な値」がハイライトされ、どの設定が適用されるかが視覚的にわかります。また、この画面で「適用期間(開始・終了日時)」や「優先度」を設定します。

image.png

コンテンツ編集画面
変数の値を設定する画面です。シンプルなテキストや数値だけでなく、JSON形式(リストやKey-Value)での入力もサポートしており、専用のエディタで構造化データを簡単に作成できます。

実行方法

Garageは「条件付き変数解決」という高度なロジックを持っています。

image.png

  1. 設定(人):
    管理画面から、データ名 税率 に対して以下の2つの値を設定します。

    • 0.10(優先度: 0, 期間: 指定なし)
    • 0.08(優先度: 10, 期間: 2025-12-01 ~ 2025-12-31)
  2. 呼び出し(ロボット):
    ロボットはコネクターの Garage変数取得 (garage.resolve) アクションで、キー 税率 を指定します。

    image.png

  3. 解決ロジック:
    サーバーはリクエストを受け取った瞬間の時刻と設定を照合します。

    • 通常時は、期間指定のない 0.10 が返されます。
    • 指定された期間内(セール期間など)になると、優先度が高い 0.08 が自動的に選ばれて返されます。

このように、人があらかじめスケジュールや優先順位を設定しておくことで、ロボット側のロジックを変えることなく、状況に応じた動的な値の切り替えが可能になります。

まとめ

今回は BizRobo! Link の DataStand について紹介しました。
次回は BizRobo! Link の中核機能であるコネクター管理の紹介に移ろうと思います。

ちなみに今回の記事のメインコンテンツもソースコードを基にAIが生成した文章をベースに加筆修正しています。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?