在 Apigee Integration 中使用变量

变量是一种集成元素,用于在集成的任务、触发器和边缘之间保存和传输数据。

  • 变量可以在设计时静态定义、在运行时动态传递到集成,
  • 也可以引用集成中的其他变量。
  • 变量可供所有任务全局访问,也可以仅供特定任务本地访问。

有三种类型的变量可用:

集成变量

集成变量类似于编程语言中使用的变量。在集成执行过程中,可以读取和写入变量中的数据。

可通过以下方式使用集成变量:

  • 作为集成的输入获取(输入变量)。
  • 作为集成的输出返回(输出变量)。
  • 用于在集成执行期间保存临时状态。

变量的值不一定要在集成中静态定义。可以使用触发器将变量值传递到集成中。但是,如果在集成中静态定义了变量,同时通过触发器动态提供相同的变量,则动态值分配将覆盖静态分配。

集成变量支持的数据类型

集成变量支持以下数据类型:

  • 字符串和字符串数组
  • 整数和整数数组
  • 双精度型和双精度型数组
  • 布尔值和布尔值数组
  • JSON

任务变量

任务变量是为任务自动生成的预定义变量。如果任务有输出,则任务变量中将包含所有此类输出。您无法删除或修改任务变量。例如,对于调用 REST 端点任务,响应正文存储在 responseBody 变量中。

配置变量

借助配置变量,您可以实现集成配置外部化。利用配置变量,您可以基于开发环境(质量检查、预演或生产环境)配置集成的各个方面,例如连接器详细信息、身份验证详细信息或网址端点。在将集成上传到新环境之前,您无需手动更新集成。借助 Application Integration,您可以在发布集成时为配置变量输入值。

如需了解如何创建和使用配置变量,请参阅为集成构建 CICD 教程。

查看变量

您可以使用变量窗格在集成中创建、修改、查看、复制和删除变量。变量窗格还会显示集成中变量引用的总数。

如需查看变量窗格,请点击设计器导航栏中的 (切换面板)。

下图显示了变量窗格的示例布局:

集成设计器变量 集成设计器变量

创建变量

如需创建变量,请执行以下步骤:

  1. 在集成编辑器导航栏中,点击 (切换面板)以显示变量窗格。
  2. 点击 +创建
  3. 创建变量窗格中执行以下操作:
    1. 名称:输入变量的名称。
    2. 变量类型:选择变量的类型。
    3. 数据类型 说明
      集成中的局部变量。
      集成的配置变量 集成中的配置变量
      输入到集成 在执行期间,变量将作为已执行触发器的输入提供。
      集成的输出 变量在执行结束时的最终值应输出给集成的调用方。
      集成的输入和输出 在执行时,变量将作为已执行触发器的输入提供,其最终值将输出给集成调用方。
    4. 数据类型:选择变量的数据类型。您可以使用变量名称旁边的图标来标识变量的数据类型。
      数据类型 示例
      字符串 Alex
      整数 30
      双精度型 30.5
      布尔值 true
      JSON { "employee":{"name":"Alex", "age":30, "city":"Mountain View"} }
      字符串数组 Alex, Kai, Raha
      整数数组 30, 25, 22
      双精度型数组 30.5, 25.34, 22.134
      布尔值数组 true, false, false

      如需了解支持的数据类型,请参阅支持的数据类型

    5. 默认值:输入变量的默认值。这是一个可选字段。
    6. 架构:选择变量的 JSON 架构。
      • 根据示例 JSON 载荷推断:根据示例 JSON 载荷生成 JSON 架构。示例载荷在架构生成后会被舍弃。系统将仅保存生成的架构。
      • 输入 JSON 架构:手动输入整个 JSON 架构。
      • 根据默认值推断:使用提供的默认值生成 JSON 架构。
      • :无 JSON 架构。
    7. 遮盖日志中的变量(预览版):选择此选项可为集成执行日志中的变量启用遮盖。如需为变量启用遮盖,您必须为集成和区域启用遮盖变量。如需了解如何为集成和区域启用遮盖,请参阅修改集成修改区域

      如需了解遮盖,请参阅遮盖日志中的敏感数据

  4. 点击创建

在集成中使用可变数据

在集成执行期间,运行时数据将作为针对集成或任务声明的变量传递。执行开始后,输入数据将转换为名为 Event 的内存对象。

Event 对象创建后,系统会使用集成定义来构建任务的内存图表。传入的变量值将根据您的配置传递给任务。集成执行时,任务会从 Event 对象读取数据并向其写回数据,以供后续任务使用或形成集成的输出数据。