Astro轻应用 AstroZero-记录查询图元:如何查多条数据

时间:2023-11-01 16:25:39

如何查多条数据

通过配置记录查询图元,输出对象的多行数据列表。

例如,应用中已创建设备对象“CNAME1__Equipment__CST”,且已有如下两条数据记录,通过在服务编排中配置记录查询图元,查询出该对象数据记录中所有的设备名称。实现步骤如下:

  1. 参考如何创建服务编排中操作,创建一个服务编排,名称和标签为“queryEquipment”。

    图3 添加服务编排

  2. 定义服务编排的变量。

    由于本任务需要查询出对象的多行数据列表,所以需要先创建对象类型的数组型变量,用于进行输出。
    1. 在服务编排编辑器页面右侧,选择
    2. 在全局上下文页面,单击“对象变量”后的加号。

    3. 设置对象变量,保持默认“记录”类型,设置参数名称为“Equipment”(也可自定义为其他名称),对象中选择要查询的具体对象“CNAME1__Equipment__CST”,勾选“数组”表示该变量为数组型变量即集合变量,单击“保存”。
      图4 创建对象

  3. 新增并配置记录查询图元。

    1. 从左侧图元列表中,拖拽“基本”下“记录查询”图元至画布中。

      该图元用于根据条件查询对象记录。

      图5 拖拽记录查询到画布中
    2. 选中记录查询图元,单击,配置该图元。
      图6 配置记录查询图元
      表4 普通类型记录查询参数说明

      参数

      参数说明

      对象

      查询的具体对象名,从下拉框中选择对象“CNAME1__Equipment__CST”。

      剔重

      若查询记录有重复值,是否需要删掉重复记录只保留一条记录。

      默认不勾选,表示不删掉重复记录。

      条件

      单击“新增行”,可设置查询数据的条件。

      (排序)排序字段/顺序

      将查询结果,根据某个字段,进行升序或降序排序。

      记录行的偏移量

      分页,跳过前n条记录,从第n+1条记录开始。

      从全局上下文拖拽数值变量或者直接输入“{!数值变量名}”,也可以是常量。

      记录行的最大数目

      分页,每页最多显示的记录数。

      从全局上下文拖拽数值变量或者直接输入“{!数值变量名}”,也可以是常量。

      记录行的总数

      限定查询出来的总记录数。

      从全局上下文拖拽数值变量或者直接输入“{!数值变量名}”,也可以是常量。

      (输出)源/目标

      输出结果,单击“新增行”,可进行添加。

      • “源”配置为需要查询的设备名称字段“name”,可从下拉框中选择。
      • “目标”从全局上下文拖拽对象变量的“name”字段,拖拽后。
      • “目标”取值为“Equipment[0].name”。

      无记录时配置空值

      当根据条件查询无记录时,则变量为空值。

      默认为勾选。

    3. 将目标“Equipment[0].name”中的“0”修改为通配符“*”。

      如果不改为通配符,只能查询出一条数据。

      图7 将“0”修改为通配符

  4. 连接开始和记录查询图元。

    在画布上,把鼠标放在起点图元上,从“+”拖动鼠标,在起点图元和记录查询图元间增加连线。

    图8 连接开始和记录查询图元

  5. 单击画布的空白处,单击右侧,设置服务编排的出参,从全局上下文里的对象变量中拖入。

    图9 设置服务编排的出参

  6. 单击服务编排页面上方的,保存服务编排。
  7. 测试服务编排能否正常执行。

    1. 单击服务编排编辑器上方的,执行服务编排。
    2. 不用输入测试数据,直接单击“运行”。

      执行成功,界面上会返回设备对象中的全部设备名称数据,样例如下:

      图10 返回样例

  8. 启用服务编排。

    测试成功后,单击服务编排编辑器上方的,启用服务编排。

    如果服务编排创建完成后,未启用默认是属于编辑状态,不能被页面或者其他服务调用。

support.huaweicloud.com/usermanual-astrozero/astrozero_05_9141.html