订阅

UiPath Data Service

UiPath Data Service 指南

在项目中使用实体

通过使用在 Data Service 中创建的实体,您可以管理和操作聚集在单个对象中的数据,而无需以细粒度的方式使用。为此,您需要 Studio v2020.8 或更高版本。

以下示例检索奥运会各个项目所获奖牌数前 10 名的国家/地区的相关数据,以及它们获得的奖牌。

 

Data Service 中的实体


Following the steps detailed in the Creating an Entity page, we created an entity for storing information about participating nations, the opening and closing dates, and the medals they won.

“奥运会”实体具有以下字段:“名称”、“国家/地区”、“开幕日期”和“闭幕日期”。“奖牌”实体具有以下字段:“国家/地区”、“金牌”、“银牌”、“铜牌”以及奖牌总数。这两个实体通过“关系”标签相互关联。

14631463

 

在 Studio 中导入的实体


Import the entity inside your workflow in Studio, as explained in the Importing Entities page.

以下工作流将抓取有关某届奥运会的信息,将数据映射到参数,并将其传递到主工作流。

477477

为此,我们为要收集的每种信息类型定义了一个参数,从而生成了 5 个导入的参数。

11231123

通过使用实体,我们只需导入并使用两个参数即可收集数据。

📘

备注:

在使用实体之前,必须使用 New 运算符初始化实体,从 Data Service 读取实体或通过输入参数在工作流中传递实体,否则分配或读取实体的值可能会导致发生错误。

11501150

The collected data is mapped to the two arguments inOlympics Year and outOlympics and their respective properties, the same as the fields defined in the entity. By using entities we're reduced the number of arguments needed for passing along information by properly mapping data to their respective entity fields.

 

创建数据记录


收集数据后,您可以使用“创建实体记录”活动将信息添加到 Data Service 中。

在本示例中,我们使用导入的参数将收集的信息传递到 Data Service。“输入”记录和“输出”记录是用于传递数据的“Olympics”类型变量的值。

857857

运行项目后,在 Data Service 中创建了以下记录:

18141814

创建包含结构化数据的记录

可以使用“遍历行”活动将数据表中的结构化记录传递到 Data Service。在本示例中,我们调用一个工作流,该工作流收集有关每个国家/地区所获奖牌数的结构化数据,并将这些记录传递到 Data Service。

410410

运行工作流后,以下数据将存储在 Data Service 中:

12101210

通过在“奥运会”实体和“奖牌”实体之间设置关系,两者中的数据记录都可以在另一个实体中使用。例如,“奖牌”实体中的“奥运会”字段的值与相关实体中的值相同。

 

与查询相关的记录


“查询实体记录”活动可用于从 Data Service 拉取记录列表。在以下示例中,我们使用该活动来查询“奥运会”实体中的数据记录,允许用户选择奥运会届别,然后在“奖牌”实体中写入每个参与国家/地区所获奖牌数。

18901890

For querying the Olympics table, we've used the Name != NULL condition from the Query Builder. This goes through all records from the Name column and outputs them in the listOlympics variable to be used in the Input Dialog activity.

To show the list of records as options, we've used the following Lambda expression listOlympics.Select(Function (o as Olympics) o.Name).ToArray in the Input Dialog activity. Alternatively, the For Each activity can be used.

The selection is mapped to the selectedOlympics variable and used in another Query Entity Records activity for going through the list of medals won at that specific edition. This condition was set by using the equals option in the Query Builder.

12011201

可对选定实体和相关的实体记录执行查询。

分页

Data Service 可能会存储大量记录。要仅查询一定数量的记录,请使用“查询实体记录”活动中的“分页”属性。“前”属性支持的最大数目为 1,000,这意味着一次可以查询 1,000 个记录。

本示例先查询前五个记录,然后再查询接下来的五个记录,直到抓取列表中的最后一个记录为止。

974974

To perform this, the skip Int64 variable was assigned the initial value of 0, and then its value is incremented after each loop until the last record is grabbed.

848848

抓取前五枚奖牌后,使用“遍历循环”活动将参与国家/地区及其所获奖牌数写入到记事本文件。

 

更新实体记录


以下场景说明了更新 Data Service 中的实体记录,然后与 Studio 同步数据的步骤。

在 Data Service 中,转到“奖牌”实体,单击“新建字段”,然后添加类型为“是/否”的新列“主办国家”。单击“保存”

12671267

在 Studio 中,单击“管理实体”,然后单击“刷新”按钮。如“更改”列中所示,检测到“奖牌”实体发生更改。单击“保存”,实体将在 Studio 中更新。

16151615

 

查询和更新记录


“更新实体记录”活动可用于将记录从工作流直接更新到 Data Service 中。

在本示例中,我们将从“奖牌”实体查询某些记录,并使用上述活动自动更新这些记录。

在“奖牌”实体中,每届奥运会的主办国家名称旁边标有星号。例如,对于 2012 奥运会,主办国家在“奥运会”列中记录为“英国 (GBR)*”。

13821382

Using the Query Entity Records activity, we go through all records that contain the asterisk (*), grab the records in the listMedals variable and use the For Each activity to loop through each item and assign the True value in the HostCountry column next to the country that hosted a particular edition.

“更新实体记录”活动可以在许多其他场景中用于传递数据和更新 Data Service 中的记录。

5个月前更新

在项目中使用实体


建议的编辑仅限用于 API 参考页面

您只能建议对 Markdown 正文内容进行编辑,而不能建议对 API 规范进行编辑。