为AstroZero服务编排添加记录查询图元
记录查询图元的作用
配置该图元能够根据条件查询平台对象的实例记录,类似于数据库中的SELECT命令。
如何使用记录查询图元
- 在基本中,拖拽“记录查询”图元至画布中。
- 选中记录查询图元,单击
,设置基本信息。
- 单击
,在“记录查询”页面进行配置。
- 如果上一步勾选“使用快速查询模式”,则需要指定一个预先定义的对象变量或者对象变量数组,并将该对象变量或对象变量数组拖拽到“变量”输入框中,并设置条件以及选择排序方式,即可实现根据条件和排序方式将查询结果保存在对象变量中。如图1所示,根据条件查询对象数据,并将查询结果保存在对象变量“Account”中。
表2 快速查询模式参数说明 参数
说明
变量
预先定义的对象变量或者对象变量数组。
查询结果自动保存在对象变量或者对象变量数组中。如果对象变量不是数组,则仅保存第一条符合条件的记录。如果对象变量为数组,则保存所有返回的记录。
从全局上下文拖拽或直接输入对象变量/对象变量数组。
无记录时配置空值
当根据条件查询无记录时,则变量为空值。
默认为勾选。
条件
选中对象后,该条件区域“字段”列会出现该对象的字段。单击“新增行”,可设置查询数据的条件。
在“字段”中选择要进行判断的对象字段,在“比较符”中选择相应的比较符,“值”则可从全局上下文拖拽变量或者直接输入“{!变量名}”。
(排序)排序字段/顺序
使查询结果根据某个字段进行升序或者降序排序。
- 如果上一步未勾选“使用快速查询模式”,则需要指定对象并在条件中设置指定对象部分字段的值,根据条件查询符合条件的对象记录,并赋值到设置的变量上。如图2所示,查询“Account”对象“name”为“Lily”的记录,并将查询得到的对象id赋值到"var_record_id"变量上。
表3 普通查询模式参数说明 参数
说明
对象
查询的具体对象名,请直接在下拉框中选择目标对象。
剔重
如果查询记录有重复值,是否需要删掉重复记录只保留一条记录。
默认不勾选,表示不删掉重复记录。
条件
选中对象后,该条件区域“字段”列会出现该对象的字段。单击“新增行”,可设置查询数据的条件。
在“字段”中选择要进行判断的对象字段,在“比较符”中选择相应的比较符,“值”则可从全局上下文拖拽变量或者直接输入“{!变量名}”。
(排序)排序字段/顺序
使查询结果根据某个字段进行升序或者降序排序。
记录行的偏移量
分页,跳过前n条记录,从第n+1条记录开始。
从全局上下文拖拽数值变量或者直接输入“{!数值变量名}”,也可以是常量。
记录行的最大数目
分页,每页最多显示的记录数。
从全局上下文拖拽数值变量或者直接输入“{!数值变量名}”,也可以是常量。
记录的总行数存入变量
查询出来的总记录数存入变量中。
从全局上下文拖拽数值变量或者直接输入“{!数值变量名}”。
(输出)源/目标
输出结果,单击“新增行”,可进行添加。
“源”为需要查询的字段,可从下拉框中选择,“目标”可从全局上下文拖拽变量或者直接输入变量名。
无记录时配置空值
当根据条件查询无记录时,则变量为空值。
默认为勾选。
- 如果上一步勾选“使用快速查询模式”,则需要指定一个预先定义的对象变量或者对象变量数组,并将该对象变量或对象变量数组拖拽到“变量”输入框中,并设置条件以及选择排序方式,即可实现根据条件和排序方式将查询结果保存在对象变量中。如图1所示,根据条件查询对象数据,并将查询结果保存在对象变量“Account”中。
查询多条数据
通过配置记录查询图元,输出对象的多行数据列表。例如,应用中已创建设备对象“CNAME1__Equipment__CST”,且已有如下两条数据记录,通过在服务编排中配置记录查询图元,查询出该对象数据记录中所有的设备名称。实现步骤如下:
- 参考创建服务编排中操作,创建一个服务编排,名称和标签为“queryEquipment”。
- 定义服务编排的变量。
由于本任务需要查询出对象的多行数据列表,所以需要先创建对象类型的数组型变量,用于进行输出。
- 在服务编排编辑器页面右侧,选择
。
- 在全局上下文页面,单击“对象变量”后的加号。
图3 创建对象变量
- 设置对象变量,保持默认“记录”类型,设置参数名称为“Equipment”(也可自定义为其他名称),对象中选择要查询的具体对象“CNAME1__Equipment__CST”,勾选“数组”表示该变量为数组型变量即集合变量,单击“保存”。
图4 设置对象变量信息
- 在服务编排编辑器页面右侧,选择
- 新增并配置记录查询图元。
- 从左侧图元列表中,拖拽“基本”下“记录查询”图元至画布中。
图5 拖拽记录查询到画布中
- 选中记录查询图元,单击
,配置该图元。
图6 配置记录查询图元表4 普通类型记录查询参数说明 参数
说明
对象
查询的具体对象名,直接从下拉框中选择。
剔重
如果查询记录有重复值,是否需要删掉重复记录只保留一条记录。
默认不勾选,表示不删掉重复记录。
条件
单击“新增行”,可设置查询数据的条件。
(排序)排序字段/顺序
将查询结果,根据某个字段,进行升序或降序排序。
记录行的偏移量
分页,跳过前n条记录,从第n+1条记录开始。
从全局上下文拖拽数值变量或者直接输入“{!数值变量名}”,也可以是常量。
记录行的最大数目
分页,每页最多显示的记录数。
从全局上下文拖拽数值变量或者直接输入“{!数值变量名}”,也可以是常量。
记录的总行数存入变量
限定查询出来的总记录数。
从全局上下文拖拽数值变量或者直接输入“{!数值变量名}”,也可以是常量。
(输出)字段名称/目标变量
输出结果,单击“新增行”,可进行添加。
- “字段名称”配置为需要查询的设备名称字段“name”,可从下拉框中选择。
- “目标变量”从全局上下文拖拽对象变量的“name”字段,拖拽后,“目标”取值为“Equipment[0].name”。
无记录时配置空值
当根据条件查询无记录时,则变量为空值。
默认为勾选。
- 将目标“Equipment[0].name”中的“0”修改为通配符“*”。
如果不改为通配符,只能查询出一条数据。
图7 将“0”修改为通配符
- 从左侧图元列表中,拖拽“基本”下“记录查询”图元至画布中。
- 连接开始和记录查询图元。
在画布上,把鼠标放在起点图元
上,从“+”拖动鼠标,在起点图元和记录查询图元间增加连线。
图8 连接开始和记录查询图元 - 单击画布的空白处,单击右侧
,设置服务编排的出参,从全局上下文里的对象变量中拖入。
图9 设置服务编排的出参 - 单击服务编排页面上方的
,保存服务编排。
- 测试服务编排能否正常执行。
- 启用服务编排。
测试成功后,单击服务编排编辑器上方的
,启用服务编排。
如果服务编排创建完成后,未启用默认是属于编辑状态,不能被页面或者其他服务调用。