[预览] Data Fabric 用户指南
通过使用在 Data Fabric/Data Service 中创建的实体,您可以管理和操作单个对象中聚集的数据,而无需以细粒度方式使用这些数据。为此,您需要 Studio v2020.8 或更高版本。
以下示例检索奥运会各个项目所获奖牌数前 10 名的国家/地区的相关数据,以及它们获得的奖牌。
Data Fabric/Data Service 中的实体
按照创建实体页面上详述的步骤操作,我们创建了一个实体,用于存储有关参与国家/地区、开始和结束日期及其获得的徽章的信息。
“奥运会”实体具有以下字段:“名称”、“国家/地区”、“开幕日期”和“闭幕日期”。“奖牌”实体具有以下字段:“国家/地区”、“金牌”、“银牌”、“铜牌”以及奖牌总数。这两个实体通过“关系”标签相互关联。
在 Studio 中导入的实体
在 Studio 的工作流中导入实体。
以下工作流将抓取有关某届奥运会的信息,将数据映射到参数,并将其传递到主工作流。
为此,我们为要收集的每种信息类型定义了一个参数,从而生成了五个导入的参数。
通过使用实体,我们只需导入并使用两个参数即可收集数据。
在使用实体之前,必须使用新的运算符将其初始化,从 Data Fabric/Data Service 读取该实体或通过工作流中的输入参数传递该实体,否则分配或读取其值可能会导致错误。
收集的数据映射到两个参数(inOlympics Year 和 outOlympics)、其各自的属性和实体中定义的字段。通过使用实体,我们通过将数据正确映射到其各自的实体字段,减少了传递信息所需的参数个数。
创建数据记录
收集数据后,您可以使用“创建实体记录”活动将信息添加到 Data Fabric/Data Service。
在此示例中,我们使用导入的参数将收集的信息传递到 Data Fabric/Data Service。“输入”和“输出”记录是OCR类型的变量值,用于传递数据。
运行项目后,系统在 Data Fabric/Data Service 中创建了以下记录:
创建包含结构化数据的记录
可以使用“遍历行”活动将数据表中的结构化记录传递到 Data Fabric/Data Service。在此示例中,我们将调用一个工作流,该工作流会收集每个国家/地区赢得的徽章数量的结构化数据,并将这些记录传递给 Data Fabric/Data Service。
运行工作流后,以下数据将存储在 Data Fabric/Data Service 中:
通过在“奥运会”实体和“奖牌”实体之间设置关系,两者中的数据记录都可以在另一个实体中使用。例如,“奖牌”实体中的“奥运会”字段的值与相关实体中的值相同。
与查询相关的记录
“查询实体记录”活动可用于从 Data Fabric/Data Service 拉取记录列表。在以下示例中,我们使用 ”活动”查询“和平”实体的数据记录,允许用户选择“和平”版本,并在“奖牌”实体中写入每个参与国家/地区赢得的奖牌数。
在查询“奥运会”表格时,我们在查询生成器中使用了 Name != NULL 条件。这将遍历“名称”列中的所有记录,并在 listOlympics 变量中输出这些记录,以在“输入对话框”活动中使用。
为了将记录列表显示为选项,我们在“输入对话框” 活动中使用了以下 Lambda 表达式listOlympics.Select(Function (o as Olympics) o.Name).ToArray 。或者,也可以使用“遍历循环”活动。
系统会将所选内容映射到 selectedOlympics 变量,并在另一个“查询实体记录”活动中使用所选内容来遍历在特定一届奥运会上所获奖牌的列表。此条件是通过在查询生成器中使用 equals 选项设置的。
可对选定实体和相关的实体记录执行查询。
分页
Data Fabric/Data Service 可能存储大量记录。要仅查询一定数量的记录,请使用“查询实体记录”活动中的“分页”属性。“热门”属性支持的最大数量为 1,000,这意味着一次可以查询 1,000 条记录。
本示例先查询前五个记录,然后再查询接下来的五个记录,直到抓取列表中的最后一个记录为止。
为此,我们为 skip Int64 变量分配了初始值 0,然后在每个循环后将其值递增,直到抓取最后一个记录为止。
抓取前五枚奖牌后,使用“遍历循环”活动将参与国家/地区及其所获奖牌数写入到记事本文件。
更新实体架构
以下场景说明了在 Data Fabric/Data Service 中更新实体架构,然后与 Studio 同步数据的步骤。
在 Data Fabric/Data Service 中,转到“徽章”实体,选择“新建字段” ,然后添加类型为“是/否”的新列“主机国家/地区” 。选择保存。
在 Studio 中,选择 ,选择“管理实体” ,然后选择“刷新”按钮。检测到“徽章”实体有更改,如“更改”列中所示。选择“保存” ,然后实体将在 Studio 中更新。
查询和更新记录
“更新实体记录”活动可用于将工作流中的记录直接更新到 Data Fabric/Data Service 中。
在本示例中,我们将从“奖牌”实体查询某些记录,并使用上述活动自动更新这些记录。
在“奖牌”实体中,每届奥运会的主办国家名称旁边标有星号。例如,对于 2012 奥运会,主办国家在“奥运会”列中记录为“英国 (GBR)*”。
使用“查询实体记录”活动,我们遍历所有包含星号 (*) 的记录,在 listMedals 变量中抓取记录,使用“遍历循环”活动遍历循环每个项目,并在“主办国家”列中在主办特定一届奥运会的国家旁边分配“True”值。
“更新实体记录”活动可用于许多其他场景,用于在 Data Fabric/Data Service 中传递数据和更新记录。