
# 组合应用引用变量
在组合应用的流任务编排中，以及连接器和处理器配置中涉及到大量的输入输出信息，还涉及到大量的配置信息需要填写。用户在编辑设计组合应用时，可以通过变量的方式快速引用流任务中的输入输出信息和配置信息，帮助用户便捷高效的设计组合应用。
组合应用中的变量可以分为系统变量、节点变量和自定义变量三种。同名变量的优先级为：系统变量 \> 节点变量 \> 自定义变量。
#### 系统变量
系统提供了一些内置的变量，表示系统参数或者某些连接器的特定输出。当前组合应用提供的系统变量如[表1]所示。
系统变量引用方式：${变量名}。
 表1系统变量说明 
| 变量                   | 说明                                     | 方法                                |
|:---|:---|:---|
| Instance ID          | 当前部署实例ID                               | ${env\|instance_id}               |
| APP ID               | 当前组合应用ID                               | ${env\|composed_app_id}           |
| Workflow ID          | 当前工作流ID                                | ${env\|workflow_id}               |
| Execution ID         | 工作流运行记录ID                              | ${env\|flow_execution_id}         |
| Execution start time | 工作流运行的UTC时间， 如2023-03-01T10：26：33.410Z | ${env\|flow_execution_start_time} |
   
 #### 节点变量
前置节点的执行结果，可以作为节点变量，被后续节点进行引用，如Open API的请求体内容、查询数据库、HTTP请求、脚本处理、变量赋值等连接器或处理器的输出结果。
节点变量引用方式：
1. 变量点选，节点中需要输入数据的地方直接单击界面中的变量。
2. ${payload}，表示引用上一个连接或处理节点的payload输出。
3. ${节点ID\|payload.xxx}，表示引用指定连接或处理节点ID的payload输出中的xxx值。
4. ${节点ID\|参数名}，表示引用指定连接或处理节点ID的参数名输出。 ![](https://support.huaweicloud.com/usermanual-roma/zh-cn_image_0000002500954332.png)
   
   
![](https://support.huaweicloud.com/usermanual-roma/public_sys-resources/note_3.0-zh-cn.png)
1. 不是所有的输入框都支持变量点选的形式，具体可参考各个连接器的使用。
2. 如果执行结果是一个对象，如JSON对象、XML对象等，可以使用${payload.id}或者${payload\[0\].id}等方式，表示引用执行结果中的部分数据。
 
**使用示例：**
例如当HTTP请求节点执行完成收到的响应体为如下JSON格式数据，在后续节点可使用${payload}引用该JSON数据，使用${payload.id}来引用"00000000"值，使用${payload.data\[0\].value}来引用"x"值。
```
{
    "id":"00000000",
    "name":"sample01",
    "data":[
        {
            "id":1,
            "value":"x"
        },
        {
            "id":2,
            "value":"y"
        },
        {
            "id":3,
            "value":"z"
        }
    ]
}
```
 #### 自定义变量
自定义变量包括用户在"变量配置"中添加的变量。
自定义变量引用方式：
1. 变量点选，在可使用变量点选的输入框中单击可点选的变量。
2. 手动输入，格式：${env\|xxx}，表示引用"变量配置"中的参数名为xxx的变量。
**在"变量配置"添加变量**
1. 登录[新版ROMA Connect控制台](https://console.huaweicloud.com/roma3)。
2. 在左侧导航栏选择"组合应用"，在组合应用页面找到要添加变量配置的组合应用。
3. 单击组合应用上的"![](https://support.huaweicloud.com/usermanual-roma/zh-cn_image_0000002532794189.png)"，选择"编辑"，进入组合应用的编辑界面。
4. 单击页面正上方的"变量配置"。
5. 在变量配置弹窗中单击"添加"，添加变量。
   表2配置变量 
   | 参数   | 说明                                                                     |
   |:---|:---|
   | 变量名  | 填写变量的名称，后续将通过变量名称进行引用。                                                 |
   | 配置类型 | 选择变量的数据类型，可选择"字符串"、"整数"、"长整数"、"小数"、"布尔"和"密码"。                          |
   | 变量值  | 填写变量的值。                                                                |
   | 作用域  | 选择变量的生效范围，是所有组合应用生效（global），还是仅当前组合应用生效；仅当前组合应用生效的变量会覆盖同名的所有组合应用生效的变量。 |
   | 描述   | 填写变量的描述信息。                                                             |
      
   
6. 单击"保存"，保存变量信息。
 
