2
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

UiPath Data Service の使い方

Last updated at Posted at 2024-02-20

はじめに

  • 本記事では、UiPath Data Service の使い方を紹介します。
  • 記事の内容は、個人の見解または確認結果であり、UiPath の公式見解ではありません。
  • 製品仕様や参考画像は 23.10 バージョンのもので構成しています。

UiPath Data Service とは

端的に説明すると
テナントをスコープとして、簡単にDBスキーマを定義・作成・利用できるサービス
です。

DataServiceの使い方.JPG

データの登録や更新については、権限で制御が可能ですが、すべてのユーザーに読取権限がつくため、取り扱うデータには注意が必要です。(Everyone(グループ)に読取権限が付いており、手元の動作を見る限り権限をOFFにしての更新もできない)
※Everyone(グループ)自体は削除が可能なため、削除した場合は閲覧者から制限することもできます。

なお、アクセス可能なエンティティを制御したい場合、「アクセス権を管理(画面上部の三点ボタン)」>「新しいロールを作成」より設定可能です。

DataServiceの使い方24.JPG

Studio での使い方

事前準備

アクティビティを使うにあたって、まず Data Service にエンティティを作成します。

DataServiceの使い方3.JPG

「新しいエンティティを作成」からDBスキーマ(新しいテーブル)を1つ追加します。

DataServiceの使い方4.JPG

本記事では、稼働日のデータを登録して、稼働日判定をおこなう例を紹介します。
登録するデータは

  • Year:日付
  • Flag:稼働日か否かの真偽値

DataServiceの使い方5.JPG

Year(日付)は「yyyy-MM-dd」の形式で指定するため Text とし、
Flag(稼働日か否か)は『Yes/No』とします。
テストレコードを2件(Yes/No それぞれ1件)を登録します。

DataServiceの使い方6.JPG

Studio での実装手順

DataServiceの使い方8.JPG

標準で Data Service のエンティティ(DBのテーブル)に対する検索・登録・更新・削除をおこなうアクティビティが用意されています。※一括登録・更新・削除もできます。

検索アクティビティを配置します。
下のキャプチャでは Entity 欄にエンティティ(DBのテーブル)が指定できていますが、ここでエンティティを選択するためにはプロジェクトへのエンティティのインポートが必要です。

DataServiceの使い方9.JPG

プロジェクトパネルのエンティティ>右クリック> 「エンティティを管理」 から、操作したいエンティティ(DBのテーブル)をインポートできます。

DataServiceの使い方10.JPG

DataServiceの使い方7.JPG

参考ガイド:
https://docs.uipath.com/ja/studio/standalone/2023.4/user-guide/importing-entities

それでは、指定した日付が稼働日か否かを確認してみます。
「フィルターを編集」から「フィルタービルダー」を起動します。

DataServiceの使い方11.JPG

Year 欄の値と指定日が等しいかを判定する条件式を入力します。
左辺に「Year」、右辺は「yyyy-MM-dd」形式とするため、『DateTime.Parse(指定日).ToString("yyyy-MM-dd")』 と指定します。

指定日:2/12 想定する返り値:False
DataServiceの使い方12.JPG
DataServiceの使い方13.JPG

指定日:2/15 想定する返り値:True
DataServiceの使い方14.JPG
DataServiceの使い方15.JPG

クエリでの検索実行で期待結果が得られたので、次にエンティティの中身を更新してみます。
「エンティティレコードを更新」を配置します。

DataServiceの使い方16.JPG

レコードの必須項目は自動で読み込まれます。
「入力レコード」に何を指定すればよいのか不明なため、とりあえず変数を作成します。

DataServiceの使い方17.JPG

『System.Guid』、はじめてみました。

先述の「エンティティレコードにクエリを実行」の出力は検索結果のリストデータのため、そのままでは利用できない様です。

DataServiceの使い方18.JPG

調べたところ、GUIDはレコードのIDと同じ様なので 「出力レコード.Item(0).Id」 として更新をかけてみます。

DataServiceの使い方19.JPG

正常に更新できました!

最後に「エンティティレコードを作成」を配置し、登録の挙動をみておきます。

DataServiceの使い方20.JPG

これは説明不要ですね。フィールドの値を指定して実行するだけ。

DataServiceの使い方21.JPG

おまけ

Automation Cloud の Data Service 画面上で一括登録(データインポート)方法について。

1)CSV形式のデータファイルを用意(ヘッダーはフィールド名のカンマ区切り)

DataServiceの使い方23.JPG

2)Data Service の「データをインポート」ボタンから1番で用意したCSVファイルを取り込みます。

DataServiceの使い方22.JPG

さいごに

いかがでしたでしょうか。
DBの運用コストもかからず、これだけ簡単に扱える内部DBの存在は大きいですよね。
冒頭にも触れたように、テナントに所属するユーザーについては、(Everyone(グループ)を削除しない限り)基本的には閲覧はできてしまうため、セキュアな情報や人事・会計情報などを登録することは控えましょう。
汎用的なマスターやテナント単位の情報収集・管理(ヘルプデスクの各種申請など)で利用できそうなものは積極的に取り入れるのがよさそうです。
最後までお読みいただきありがとうございます(・ω・)ノ

2
1
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
2
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?