
# 如何使用服务编排开发数据的增删改查
#### 使用说明
[如何使用服务编排开发业务的基本逻辑](https://support.huaweicloud.com/usermanual-astrozero/astrozero_05_0603.html)中创建了呼吸机资源对象Respirator，本章节将介绍通过服务编排中内置的对象操作图元来开发服务编排，实现Respirator对象数据的增删改查功能。
 #### 创建对象数据
由于服务编排中内置的记录创建图元无法批量创建，需要循环调用记录创建图元，进行批量创建。
1. 参考[如何创建服务编排](https://support.huaweicloud.com/usermanual-astrozero/astrozero_05_0601.html#astrozero_05_0601__section1133218183213)中操作，创建"名称"和"标签"为"CreateRespirator"的服务编排。
   
   图1创建CreateRespirator服务编排   
   ![](https://support.huaweicloud.com/usermanual-astrozero/zh-cn_image_0000001932886588.png "点击放大")
   
   
2. 参照[表1]，定义服务编排用到的变量，并设置该服务编排的入参。
   
    表1变量说明 
   | 变量名             | 变量类型           | 变量说明                |
   |:---|:---|:---|
   | RespiratorInfo  | Respirator对象   | 系统中空闲状态下的呼吸机资源数组元素。 |
   | RespiratorInfos | Respirator对象数组 | 系统中空闲状态下的呼吸机资源数组。   |
      
   1. 在服务编排编辑器页面右侧，选择![](https://support.huaweicloud.com/usermanual-astrozero/zh-cn_image_0000001960125413.png)，在全局上下文页面单击"对象变量"后的加号。
      图2添加对象变量   
      ![](https://support.huaweicloud.com/usermanual-astrozero/zh-cn_image_0000001933045964.png "点击放大") 
   
   2. 设置对象变量名称为"RespiratorInfo" ，对象中选择[前提条件](https://support.huaweicloud.com/usermanual-astrozero/astrozero_05_0603.html#astrozero_05_0603__section1763019565010)中创建的对象Respirator，设置字段描述信息（可选），单击"保存"。
      图3配置对象变量   
      ![](https://support.huaweicloud.com/usermanual-astrozero/zh-cn_image_0000001932886704.png "点击放大")
      ![](https://support.huaweicloud.com/usermanual-astrozero/public_sys-resources/note_3.0-zh-cn.png)
      服务编排中只允许引用当前应用工程下的资源（例如对象、脚本），上图中的对象需要和服务编排在同一应用中。
      
   
   3. 按照上述操作，新建对象变量"RespiratorInfos"，对象中选择[前提条件](https://support.huaweicloud.com/usermanual-astrozero/astrozero_05_0603.html#astrozero_05_0603__section1763019565010)中创建的对象Respirator，设置字段描述信息（可选），**选中"是否为数组"** ，单击"保存"。
      图4配置数组类型对象变量   
      ![](https://support.huaweicloud.com/usermanual-astrozero/zh-cn_image_0000001960285113.png "点击放大") 
   
   4. 单击画布中的"开始"图元![](https://support.huaweicloud.com/usermanual-astrozero/zh-cn_image_0000001933046080.png)，在右侧菜单选择![](https://support.huaweicloud.com/usermanual-astrozero/zh-cn_image_0000001960125353.png)，单击右上角"全局上下文"展开"全局上下文"页面，将数组对象变量"RespiratorInfos"拖拽到"入参"中。
      图5配置开始图元   
      ![](https://support.huaweicloud.com/usermanual-astrozero/zh-cn_image_0000001960285097.png "点击放大") 
   
   
   
   
3. 拖拽快捷目录中的"循环"图元以及"基本"目录中的"记录创建"图元到画布中，并与"开始"图元进行如下连线。 
   图6拖拽图元   
   ![](https://support.huaweicloud.com/usermanual-astrozero/zh-cn_image_0000001932886688.png "点击放大")
   
   
4. 配置"循环"图元。 
   1. 单击画布中的"循环"图元，在"基本信息"页面中配置图元标签和名称为"LoopRespiratorInfos"。
      图7配置"循环"图元基本信息   
      ![](https://support.huaweicloud.com/usermanual-astrozero/zh-cn_image_0000001960125261.png "点击放大") 
   
   2. 单击![](https://support.huaweicloud.com/usermanual-astrozero/zh-cn_image_0000001933046092.png)，进入"循环"配置页面，展开"全局上下文"页面，拖拽对象变量RespiratorInfos到"数组"输入框中，拖拽对象变量RespiratorInfo到"元素"输入框中。
      图8配置"循环"页面   
      ![](https://support.huaweicloud.com/usermanual-astrozero/zh-cn_image_0000001932886544.png "点击放大")
      ![](https://support.huaweicloud.com/usermanual-astrozero/public_sys-resources/note_3.0-zh-cn.png)
      如上图配置，能够将数组对象变量RespiratorInfos进行遍历，并将数组中的每个元素放置到对象变量RespiratorInfo中，进行下一步操作。
      
   
   
   
   
5. 配置"记录创建"图元。 
   1. 单击画布中的"记录创建"图元，在"基本信息"页面中配置图元标签及名称为"CreateRespirator"，并勾选"使用快速创建模式"。
      图9配置"记录创建"图元基本信息   
      ![](https://support.huaweicloud.com/usermanual-astrozero/zh-cn_image_0000001960285125.png "点击放大") 
   
   2. 单击![](https://support.huaweicloud.com/usermanual-astrozero/zh-cn_image_0000001932886664.png)，在"记录创建"页面，展开"全局上下文"页面，将对象变量RespiratorInfo拖拽到"变量"输入框中。
      图10配置"记录创建"页面   
      ![](https://support.huaweicloud.com/usermanual-astrozero/zh-cn_image_0000001960285081.png "点击放大") 
   
   
   
   
6. 单击页面上方的![](https://support.huaweicloud.com/usermanual-astrozero/zh-cn_image_0000001933046012.png)，保存服务编排。
7. 保存后，单击![](https://support.huaweicloud.com/usermanual-astrozero/zh-cn_image_0000001960285185.png)，运行服务编排。
8. 在服务编排运行页面，设置输入参数，单击"运行"，创建3条对象记录。 
   其中，"CNAME"替换为环境中实际配置的命名空间。
   ```
   {
       "RespiratorInfos": [
           {
               "name": "呼吸机1",
               "CNAME__hospital__CST": "第1人民医院",
               "CNAME__status__CST": "空闲"
           },
           {
               "name": "呼吸机2",
               "CNAME__hospital__CST": "第1人民医院",
               "CNAME__status__CST": "空闲"
           },
           {
               "name": "呼吸机3",
               "CNAME__hospital__CST": "第1人民医院",
               "CNAME__status__CST": "空闲"
           }
       ]
   }
   ```
   
   
9. 检查运行的结果是否符合预期。 
   1. 运行结果显示"成功"。
      图11运行结果   
      ![](https://support.huaweicloud.com/usermanual-astrozero/zh-cn_image_0000001933045976.png "点击放大") 
   
   2. 在对象Respirator的"布局"页签，单击"Respirator Records"后的![](https://support.huaweicloud.com/usermanual-astrozero/zh-cn_image_0000001932886624.png "点击放大")，查看到已成功创建对象记录。
      图12查看对象数据   
      ![](https://support.huaweicloud.com/usermanual-astrozero/zh-cn_image_0000001932886600.png "点击放大")
      图13Respirator对象数据   
      ![](https://support.huaweicloud.com/usermanual-astrozero/zh-cn_image_0000001960125337.png "点击放大") 
   
   
   
   
10. 单击页面上方的![](https://support.huaweicloud.com/usermanual-astrozero/zh-cn_image_0000001933046044.png)，启用该服务编排。
 
 #### 查询对象数据
介绍如何通过记录查询图元，查询Respirator对象数据中"状态"为"空闲"的对象记录。
1. 参考[如何创建服务编排](https://support.huaweicloud.com/usermanual-astrozero/astrozero_05_0601.html#astrozero_05_0601__section1133218183213)中操作，创建"名称"和"标签"为"SelectRespirator"的服务编排。
2. 定义服务编排用到的变量，并设置该服务编排的出参。 
   1. 在服务编排编辑器页面右侧，选择![](https://support.huaweicloud.com/usermanual-astrozero/zh-cn_image_0000001960125329.png)，在全局上下文页面单击"对象变量"后的加号。
   
   2. 新建对象变量"RespiratorInfos"，对象中选择[前提条件](https://support.huaweicloud.com/usermanual-astrozero/astrozero_05_0603.html#astrozero_05_0603__section1763019565010)中创建的对象Respirator，设置字段描述信息（可选），**选中"是否为数组"** ，单击"保存"。
      图14创建数组类型对象变量"RespiratorInfos"   
      ![](https://support.huaweicloud.com/usermanual-astrozero/zh-cn_image_0000001960125285.png "点击放大") 
   
   3. 单击画布中的"开始"图元![](https://support.huaweicloud.com/usermanual-astrozero/zh-cn_image_0000001960285117.png)，在右侧菜单选择![](https://support.huaweicloud.com/usermanual-astrozero/zh-cn_image_0000001933046016.png)，单击右上角"全局上下文"展开"全局上下文"页面，将数组对象变量"RespiratorInfos"拖拽到"出参"中。
      图15配置开始图元   
      ![](https://support.huaweicloud.com/usermanual-astrozero/zh-cn_image_0000001960125369.png "点击放大") 
   
   
   
   
3. 拖拽"基本"目录中的"记录查询"图元到画布中，并与"开始"图元进行如下连线。 
   图16拖拽图元   
   ![](https://support.huaweicloud.com/usermanual-astrozero/zh-cn_image_0000001960285121.png "点击放大")
   
   
4. 配置"记录查询"图元。 
   1. 单击画布中的"记录查询"图元，在"基本信息"页面中配置图元标签及名称为"SelectRespirator"，并勾选"使用快速查询模式"。
      图17配置"记录查询"图元基本信息   
      ![](https://support.huaweicloud.com/usermanual-astrozero/zh-cn_image_0000001933046076.png "点击放大") 
   
   2. 如下图所示，单击![](https://support.huaweicloud.com/usermanual-astrozero/zh-cn_image_0000001960125345.png)，在"记录查询"页面中，将创建的对象变量RespiratorInfos由展开的"全局上下文"页面拖拽到"变量"输入框中。在"条件"中，单击"新增行"新增条件语句，"排序"为可选配置。
      图18配置"记录查询"页面   
      ![](https://support.huaweicloud.com/usermanual-astrozero/zh-cn_image_0000001960125421.png "点击放大")
      ![](https://support.huaweicloud.com/usermanual-astrozero/public_sys-resources/note_3.0-zh-cn.png)
      条件中的"值"，需要使用英文双引号。
      
   
   
   
   
5. 单击页面上方的![](https://support.huaweicloud.com/usermanual-astrozero/zh-cn_image_0000001960125405.png)，保存服务编排。
6. 保存成功后，单击![](https://support.huaweicloud.com/usermanual-astrozero/zh-cn_image_0000001933046068.png)，运行服务编排。
7. 由于该服务编排没有配置入参，直接单击"运行"，即可查询对象数据。
8. 查看是否返回所有状态为空闲的对象记录。 
   ```
   {
     "interviewId": "002N0000XXXXXXx5Cy",
     "outputs": {
       "RespiratorInfos": [
         {
           "createdBy": "10gd000XXXXXX7Pea",
           "createdBy.name": "XXX",
           "createdDate": "2021-08-10 14:25:18",
           "currencyIsoCode": "USD",
           "CNAME__hospital__CST": "第1人民医院",
           "CNAME__status__CST": "空闲",
           "id": "cnE0000000m5Kvrl7kSe",
           "lastModifiedBy": "10gd000XXXXXXq7Pea",
           "lastModifiedBy.name": "XXX",
           "lastModifiedDate": "2021-08-10 14:25:18",
           "name": "呼吸机1",
           "owner": "10gd0000XXXXXXq7Pea",
           "owner.name": "gonCNAMEhen"
         },
         {
           "createdBy": "10gd000000bZHUAq7Pea",
           "createdBy.name": "XXX",
           "createdDate": "2021-08-10 14:25:18",
           "currencyIsoCode": "USD",
           "CNAME__hospital__CST": "第1人民医院",
           "CNAME__status__CST": "空闲",
           "id": "cnE0000000m5KvrtM7EW",
           "lastModifiedBy": "10gd0000XXXXXXea",
           "lastModifiedBy.name": "XXX",
           "lastModifiedDate": "2021-08-10 14:25:18",
           "name": "呼吸机2",
           "owner": "10gd000000bZHUAq7Pea",
           "owner.name": "XXX"
         },
         {
           "createdBy": "10gd000XXXXXX7Pea",
           "createdBy.name": "XXX",
           "createdDate": "2021-08-10 14:25:18",
           "currencyIsoCode": "USD",
           "CNAME__hospital__CST": "第1人民医院",
           "CNAME__status__CST": "空闲",
           "id": "cnE0000000m5KvrykUhk",
           "lastModifiedBy": "10gd0000XXXXXXPea",
           "lastModifiedBy.name": "XXX",
           "lastModifiedDate": "2021-08-10 14:25:18",
           "name": "呼吸机3",
           "owner": "10gd000000bZHUAq7Pea",
           "owner.name": "XXX"
         }
       ]
     }
   }
   ```
   
   
9. 单击页面上方的![](https://support.huaweicloud.com/usermanual-astrozero/zh-cn_image_0000001960125357.png)，启用服务编排。
 
 #### 修改对象数据
介绍如何通过记录更新图元，修改Respirator对象数据。
1. 参考[如何创建服务编排](https://support.huaweicloud.com/usermanual-astrozero/astrozero_05_0601.html#astrozero_05_0601__section1133218183213)中操作，创建"名称"和"标签"为"UpdateRespirator"的服务编排。
2. 定义服务编排用到的变量，并设置该服务编排的入参。 
   1. 在服务编排编辑器页面右侧，选择![](https://support.huaweicloud.com/usermanual-astrozero/zh-cn_image_0000001960285129.png)，在全局上下文页面单击"对象变量"后的加号。
   
   2. 新建对象变量"RespiratorInfos"，对象中选择[前提条件](https://support.huaweicloud.com/usermanual-astrozero/astrozero_05_0603.html#astrozero_05_0603__section1763019565010)中创建的对象Respirator，设置字段描述信息（可选），**选中"是否为数组"** ，单击"保存"。
      图19新建对象变量"RespiratorInfos"   
      ![](https://support.huaweicloud.com/usermanual-astrozero/zh-cn_image_0000001933046084.png "点击放大") 
   
   3. 单击画布中的"开始"图元![](https://support.huaweicloud.com/usermanual-astrozero/zh-cn_image_0000001960125341.png)，在右侧菜单选择![](https://support.huaweicloud.com/usermanual-astrozero/zh-cn_image_0000001933046052.png)，单击右上角"全局上下文"展开"全局上下文"页面，将数组对象变量"RespiratorInfos"拖拽到"入参"中。
      图20配置开始图元   
      ![](https://support.huaweicloud.com/usermanual-astrozero/zh-cn_image_0000001960285053.png "点击放大") 
   
   
   
   
3. 拖拽"基本"目录中的"记录更新"图元到画布中，并与"开始"图元进行如下连线。 
   图21拖拽图元   
   ![](https://support.huaweicloud.com/usermanual-astrozero/zh-cn_image_0000001960125389.png "点击放大")
   
   
4. 配置"记录更新"图元。 
   1. 单击画布中的"记录更新"图元，在"基本信息"页面中配置图元标签及名称为"UpdateRespirator"，并勾选"使用快速更新模式"。
      图22配置"记录更新"图元基本信息   
      ![](https://support.huaweicloud.com/usermanual-astrozero/zh-cn_image_0000001960125397.png "点击放大") 
   
   2. 单击![](https://support.huaweicloud.com/usermanual-astrozero/zh-cn_image_0000001933046096.png)，在"记录更新"页面，将创建的对象变量RespiratorInfos由展开的"全局上下文"页面拖拽到"变量"输入框中。
      图23配置"记录更新"页面   
      ![](https://support.huaweicloud.com/usermanual-astrozero/zh-cn_image_0000001960125253.png "点击放大") 
   
   
   
   
5. 单击页面上方的![](https://support.huaweicloud.com/usermanual-astrozero/zh-cn_image_0000001960125365.png)，保存服务编排。
6. 保存成功后，单击![](https://support.huaweicloud.com/usermanual-astrozero/zh-cn_image_0000001960285205.png)，运行服务编排。
7. 在服务编排运行页面，设置输入参数，单击"运行"。 
   在"输入参数"中，输入如下参数，修改Respirator对象数据，更新状态为"使用中"。其中，"CNAME"替换为环境中实际配置的命名空间，"id"取值替换为[查询对象数据]中查询出呼吸机的id。
   ```
   {
       "RespiratorInfos": [
           {
               "id": "cnE0000000m5Kvrl7kSe",
               "CNAME__status__CST": "使用中"
           },
           {
               "id": "cnE0000000m5KvrtM7EW",
               "CNAME__status__CST": "使用中"
           }
       ]
   }
   ```
   
   
8. 检查运行的结果是否符合预期。 
   1. 运行结果显示"成功"。 ![](https://support.huaweicloud.com/usermanual-astrozero/zh-cn_image_0000001960125373.png "点击放大")
      
   
   2. 在对象Respirator的"布局"页签，单击"Respirator Records"后的![](https://support.huaweicloud.com/usermanual-astrozero/zh-cn_image_0000001960125349.png "点击放大")，查看到对象记录中状态已成功由"空闲"更新为"使用中"。
      图24预览对象布局页   
      ![](https://support.huaweicloud.com/usermanual-astrozero/zh-cn_image_0000001960285181.png "点击放大")
      图25查看对象数据变更   
      ![](https://support.huaweicloud.com/usermanual-astrozero/zh-cn_image_0000001960285189.png "点击放大") 
   
   
   
   
9. 单击页面上方的![](https://support.huaweicloud.com/usermanual-astrozero/zh-cn_image_0000001960285085.png)，激活服务编排。
 
#### 删除对象数据
介绍如何通过记录删除图元，删除Respirator对象数据。
1. 参考[如何创建服务编排](https://support.huaweicloud.com/usermanual-astrozero/astrozero_05_0601.html#astrozero_05_0601__section1133218183213)中操作，创建"名称"和"标签"为"DeleteRespirator"的服务编排。
2. 定义服务编排用到的变量，并设置该服务编排的出参。 
   1. 在服务编排编辑器页面右侧选择![](https://support.huaweicloud.com/usermanual-astrozero/zh-cn_image_0000001960285073.png)，在全局上下文页面单击"对象变量"后的加号。
   
   2. 新建对象变量"RespiratorInfos"，对象中选择[前提条件](https://support.huaweicloud.com/usermanual-astrozero/astrozero_05_0603.html#astrozero_05_0603__section1763019565010)中创建的对象Respirator，设置字段描述信息（可选），**选中"是否为数组"** ，单击"保存"。
      图26新建对象变量"RespiratorInfos"   
      ![](https://support.huaweicloud.com/usermanual-astrozero/zh-cn_image_0000001933046020.png "点击放大") 
   
   3. 单击画布中的"开始"图元![](https://support.huaweicloud.com/usermanual-astrozero/zh-cn_image_0000001932886556.png)，在右侧菜单选择![](https://support.huaweicloud.com/usermanual-astrozero/zh-cn_image_0000001933045936.png)，单击右上角"全局上下文"展开"全局上下文"页面，将数组对象变量"RespiratorInfos"拖拽到"入参"中。
      图27配置开始图元   
      ![](https://support.huaweicloud.com/usermanual-astrozero/zh-cn_image_0000001960125409.png "点击放大") 
   
   
   
   
3. 拖拽"基本"目录中的"记录删除"图元到画布中，并连接"开始"和"记录删除"图元。
4. 配置"记录删除"图元。 
   1. 单击画布中的"记录删除"图元，在"基本信息"页面中配置图元标签及名称为"DeleteRespirator"，并勾选"使用快速删除模式"。
   
   2. 单击![](https://support.huaweicloud.com/usermanual-astrozero/zh-cn_image_0000001960125305.png)，在"记录删除"页面将创建的对象变量RespiratorInfos由展开的"全局上下文"页面拖拽到"变量"输入框中。
      图28配置"记录删除"页面   
      ![](https://support.huaweicloud.com/usermanual-astrozero/zh-cn_image_0000001960125361.png "点击放大") 
   
   
   
   
5. 单击页面上方的![](https://support.huaweicloud.com/usermanual-astrozero/zh-cn_image_0000001932886576.png)，保存服务编排。
6. 保存成功后，单击![](https://support.huaweicloud.com/usermanual-astrozero/zh-cn_image_0000001932886680.png)，运行服务编排。
7. 设置输入参数，单击"运行"，删除2条对象记录。 
   其中，"id"取值替换为[查询对象数据]中查询出的呼吸机的id。
   ```
   {
       "RespiratorInfos": [
           {
               "id": "cnE0000000m5Kvrl7kSe"
           },
           {
               "id": "cnE0000000m5KvrtM7EW"
           }
       ]
   }
   ```
   
   
8. 运行后在对象Respirator的"布局"页签，单击"Respirator Records"后的![](https://support.huaweicloud.com/usermanual-astrozero/zh-cn_image_0000001960125297.png "点击放大")，查看到已成功删除2条对象记录，还剩1条。
   
   图29预览布局页   
   ![](https://support.huaweicloud.com/usermanual-astrozero/zh-cn_image_0000001960285077.png "点击放大")
   图30对象记录   
   ![](https://support.huaweicloud.com/usermanual-astrozero/zh-cn_image_0000001960125377.png "点击放大")
   
   
9. 单击页面上方的![](https://support.huaweicloud.com/usermanual-astrozero/zh-cn_image_0000001933045980.png)，启用服务编排。
 
