
# 为华为云Astro轻应用服务编排添加记录查询图元
#### 记录查询图元的作用
配置该图元能够根据条件查询平台对象的实例记录，类似于数据库中的SELECT命令。
#### 如何使用记录查询图元
1. 在基本中，拖拽"记录查询"图元至画布中。
2. 选中记录查询图元，单击![](https://support.huaweicloud.com/usermanual-astrozero/zh-cn_image_0000001894138992.png)，设置基本信息。
   
   表1基本信息参数说明 
   | 参数       | 说明                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     |
   |:---|:---|
   | 标签       | 设置图元的标签，用于在服务编排设计页面展示。系统会自动填入该值，格式为RecordSelect序号，序号从"0"开始，表示同类型图元序号。                                                                                                                                                                                                                                                                                                                                                                                                                                                                  |
   | 名称       | 设置图元的名称，名称为图元在服务编排中的标识，请确保在当前服务编排中唯一。命名要求如下： - 长度范围为1\~80个字符。  - 必须以英文字母开头，由英文字母，数字或单下划线组成，且不能以下划线结尾。                                                                                                                                                                                                     |
   | 描述       | 请根据实际需求，在输入框中输入图元的描述信息。 取值范围：1\~255个字符。                                                                                                                                                                                                                                                                                                                                                                                                                                                             |
   | 使用快速查询模式 | 是否启用快速查询模式。 - 如果勾选该参数，表示为快速模式。 仅配置查询条件即可，查询结果自动保存在对象变量中。如果对象变量不是数组，则仅保存第一条符合条件的记录。如果对象变量为数组，则保存所有返回的记录。   - 不勾选，表示为普通模式。 根据条件查询对象记录，需要指明要查询的对象名、查询条件，需要查询的字段列表，查询结果需要保存到设置的变量中。    默认不勾选。 |
      
   
   
3. 单击![](https://support.huaweicloud.com/usermanual-astrozero/zh-cn_image_0000001936098545.png)，在"记录查询"页面进行配置。
   
   - 如果上一步勾选"使用快速查询模式"，则需要指定一个预先定义的对象变量或者对象变量数组，并将该对象变量或对象变量数组拖拽到"变量"输入框中，并设置条件以及选择排序方式，即可实现根据条件和排序方式将查询结果保存在对象变量中。如[图1]所示，根据条件查询对象数据，并将查询结果保存在对象变量"Account"中。
     图1快速查询模式   
     ![](https://support.huaweicloud.com/usermanual-astrozero/zh-cn_image_0000001936098549.png "点击放大")
     表2快速查询模式参数说明 
     | 参数          | 说明                                                                                                                                                                                          |
     |:---|:---|
     | 变量          | 预先定义的对象变量或者对象变量数组。 查询结果自动保存在对象变量或者对象变量数组中。如果对象变量不是数组，则仅保存第一条符合条件的记录。如果对象变量为数组，则保存所有返回的记录。 从全局上下文拖拽或直接输入对象变量/对象变量数组。 |
     | 无记录时配置空值    | 当根据条件查询无记录时，则变量为空值。 默认为勾选。                                                                                                                              |
     | 条件          | 选中对象后，该条件区域"字段"列会出现该对象的字段。单击"新增行"，可设置查询数据的条件。 在"字段"中选择要进行判断的对象字段，在"比较符"中选择相应的比较符，"值"则可从全局上下文拖拽变量或者直接输入"{!变量名}"。                                         |
     | （排序）排序字段/顺序 | 使查询结果根据某个字段进行升序或者降序排序。                                                                                                                                                                      |
        
     
   
   - 如果上一步未勾选"使用快速查询模式"，则需要指定对象并在条件中设置指定对象部分字段的值，根据条件查询符合条件的对象记录，并赋值到设置的变量上。如[图2]所示，查询"Account"对象"name"为"Lily"的记录，并将查询得到的对象id赋值到"var_record_id"变量上。
     图2普通查询模式   
     ![](https://support.huaweicloud.com/usermanual-astrozero/zh-cn_image_0000001894138988.png "点击放大")
     表3普通查询模式参数说明 
     | 参数          | 说明                                                                                                                                               |
     |:---|:---|
     | 对象          | 查询的具体对象名，请直接在下拉框中选择目标对象。                                                                                                                         |
     | 剔重          | 如果查询记录有重复值，是否需要删掉重复记录只保留一条记录。 默认不勾选，表示不删掉重复记录。                                                               |
     | 条件          | 选中对象后，该条件区域"字段"列会出现该对象的字段。单击"新增行"，可设置查询数据的条件。 在"字段"中选择要进行判断的对象字段，在"比较符"中选择相应的比较符，"值"则可从全局上下文拖拽变量或者直接输入"{!变量名}"。 |
     | （排序）排序字段/顺序 | 使查询结果根据某个字段进行升序或者降序排序。                                                                                                                           |
     | 记录行的偏移量     | 分页，跳过前n条记录，从第n+1条记录开始。 从全局上下文拖拽数值变量或者直接输入"{!数值变量名}"，也可以是常量。                                                   |
     | 记录行的最大数目    | 分页，每页最多显示的记录数。 从全局上下文拖拽数值变量或者直接输入"{!数值变量名}"，也可以是常量。                                                         |
     | 记录的总行数存入变量  | 查询出来的总记录数存入变量中。 从全局上下文拖拽数值变量或者直接输入"{!数值变量名}"。                                                                |
     | （输出）源/目标    | 输出结果，单击"新增行"，可进行添加。 "源"为需要查询的字段，可从下拉框中选择，"目标"可从全局上下文拖拽变量或者直接输入变量名。                                            |
     | 无记录时配置空值    | 当根据条件查询无记录时，则变量为空值。 默认为勾选。                                                                                   |
        
     
   
   
   
   
 
#### 查询多条数据
通过配置记录查询图元，输出对象的多行数据列表。例如，应用中已创建设备对象"命名空间__Equipment__CST"，且已有如下两条数据记录，通过在服务编排中配置记录查询图元，查询出该对象数据记录中所有的设备名称。实现步骤如下：
图3已有数据   
![](https://support.huaweicloud.com/usermanual-astrozero/zh-cn_image_0000001894298808.png "点击放大")
1. 参考[创建服务编排](https://support.huaweicloud.com/usermanual-astrozero/astrozero_05_9131.html#astrozero_05_9131__section1133218183213)中操作，创建一个服务编排，名称和标签为"queryEquipment"。
2. 定义服务编排的变量。 
   由于本任务需要查询出对象的多行数据列表，所以需要先创建对象类型的数组型变量，用于进行输出。
   1. 在服务编排编辑器页面右侧，选择![](https://support.huaweicloud.com/usermanual-astrozero/zh-cn_image_0000001894138936.png)。
   
   2. 在全局上下文页面，单击"对象变量"后的加号。
      图4创建对象变量   
      ![](https://support.huaweicloud.com/usermanual-astrozero/zh-cn_image_0000001894138976.png) 
   
   3. 设置对象变量，保持默认"记录"类型，设置参数名称为"Equipment"（也可自定义为其他名称），对象中选择要查询的具体对象"命名空间__Equipment__CST"，勾选"数组"表示该变量为数组型变量即集合变量，单击"保存"。
      图5设置对象变量信息   
      ![](https://support.huaweicloud.com/usermanual-astrozero/zh-cn_image_0000001894298848.png "点击放大") 
    
   
   
3. 新增并配置记录查询图元。 
   1. 从左侧图元列表中，拖拽"基本"下"记录查询"图元至画布中。 该图元用于根据条件查询对象记录。
      图6拖拽记录查询到画布中   
      ![](https://support.huaweicloud.com/usermanual-astrozero/zh-cn_image_0000001894138940.png "点击放大") 
   
   2. 选中记录查询图元，单击![](https://support.huaweicloud.com/usermanual-astrozero/zh-cn_image_0000001894138912.png)，配置该图元。
      图7配置记录查询图元   
      ![](https://support.huaweicloud.com/usermanual-astrozero/zh-cn_image_0000001936098525.png "点击放大")
      表4普通类型记录查询参数说明 
      | 参数            | 说明                                                                                                                                                                                                                                                                                                                                                        |
      |:---|:---|
      | 对象            | 查询的具体对象名，直接从下拉框中选择。                                                                                                                                                                                                                                                                                                                                       |
      | 剔重            | 如果查询记录有重复值，是否需要删掉重复记录只保留一条记录。 默认不勾选，表示不删掉重复记录。                                                                                                                                                                                                                                                                       |
      | 条件            | 单击"新增行"，可设置查询数据的条件。                                                                                                                                                                                                                                                                                                                                       |
      | （排序）排序字段/顺序   | 将查询结果，根据某个字段，进行升序或降序排序。                                                                                                                                                                                                                                                                                                                                   |
      | 记录行的偏移量       | 分页，跳过前n条记录，从第n+1条记录开始。 从全局上下文拖拽数值变量或者直接输入"{!*数值变量名*}"，也可以是常量。                                                                                                                                                                                                             |
      | 记录行的最大数目      | 分页，每页最多显示的记录数。 从全局上下文拖拽数值变量或者直接输入"{!*数值变量名*}"，也可以是常量。                                                                                                                                                                                                                   |
      | 记录的总行数存入变量    | 限定查询出来的总记录数。 从全局上下文拖拽数值变量或者直接输入"{!*数值变量名*}"，也可以是常量。                                                                                                                                                                                                                     |
      | （输出）字段名称/目标变量 | 输出结果，单击"新增行"，可进行添加。 - "字段名称"配置为需要查询的设备名称字段"name"，可从下拉框中选择。  - "目标变量"从全局上下文拖拽对象变量的"name"字段，拖拽后，"目标"取值为"Equipment\[0\].name"。   |
      | 无记录时配置空值      | 当根据条件查询无记录时，则变量为空值。 默认为勾选。                                                                                                                                                                                                                                                                                              |
         
      
   
   3. 将目标"Equipment\[0\].name"中的"0"修改为通配符"**\*** "。
      **如果不改为通配符，只能查询出一条数据。**
      图8将"0"修改为通配符   
      ![](https://support.huaweicloud.com/usermanual-astrozero/zh-cn_image_0000001894298860.png "点击放大") 
   
   
   
   
4. 连接开始和记录查询图元。 
   在画布上，把鼠标放在起点图元![](https://support.huaweicloud.com/usermanual-astrozero/zh-cn_image_0000001894298820.png)上，从"+"拖动鼠标，在起点图元和记录查询图元间增加连线。
   图9连接开始和记录查询图元   
   ![](https://support.huaweicloud.com/usermanual-astrozero/zh-cn_image_0000001894298816.png)
   
   
5. 单击画布的空白处，单击右侧![](https://support.huaweicloud.com/usermanual-astrozero/zh-cn_image_0000001894138916.png)，设置服务编排的出参，从全局上下文里的对象变量中拖入。
   
   图10设置服务编排的出参   
   ![](https://support.huaweicloud.com/usermanual-astrozero/zh-cn_image_0000001894138980.png "点击放大")
   
   
6. 单击服务编排页面上方的![](https://support.huaweicloud.com/usermanual-astrozero/zh-cn_image_0000001894298832.png)，保存服务编排。
7. 测试服务编排能否正常执行。 
   1. 单击服务编排编辑器上方的![](https://support.huaweicloud.com/usermanual-astrozero/zh-cn_image_0000001936098529.png)，执行服务编排。
   
   2. 不用输入测试数据，直接单击"运行"。 执行成功，界面上会返回设备对象中的全部设备名称数据，样例如下：
      图11返回样例   
      ![](https://support.huaweicloud.com/usermanual-astrozero/zh-cn_image_0000001894298864.png "点击放大") 
   
   
   
   
8. 启用服务编排。 
   测试成功后，单击服务编排编辑器上方的![](https://support.huaweicloud.com/usermanual-astrozero/zh-cn_image_0000001894138952.png)，启用服务编排。服务编排启用后，才能被页面或者其他服务调用。
   
   
 
