请参阅 Application Integration 支持的连接器

试用示例集成

首次在 Google Cloud 项目中设置 Application Integration 时,Application Integration 会默认创建一个名为 ExampleIntegration-EcomOrderProcessing未发布示例集成。

查看示例集成

如需查看集成示例,请执行以下操作:

  1. 在 Google Cloud 控制台中,前往 Application Integration 页面。

    转到 Application Integration

  2. 在导航菜单中,点击 Integrations(集成)。随即会出现集成列表页面。
  3. 点击名为 ExampleIntegration-EcomOrderProcessing 的集成。

    示例集成会在集成编辑器中打开,类似于以下布局:

    示例集成布局图片 示例集成布局图片

电子商务示例集成

您可以使用此示例集成来亲身体验 Application Integration 的各种触发器任务概念

本集成示例展示了实现以下订单处理操作的基本电子商务后端场景:

  1. 从 API 端点接收以下订单请求载荷:
    {
      "order_no": "12345",
      "buyer_id": "raambo",
      "line_items": [
        {
          "line": 1,
          "sku": "tr100",
          "vendor": "Internal",
          "quantity": 1,
          "price_per_unit": 10
        },
        {
          "line": 2,
          "sku": "tbz",
          "vendor": "External",
          "quantity": 24.0,
          "price_per_unit": 1
        }
      ]
    }
    
  2. 提取订单载荷并计算总订单价值。
  3. 检查总订单价值是否大于或等于 100 美元。如果是,请再次获得批准以继续操作。
  4. 检查是否有任何订单商品有外部供应商。如果是,则通过 REST API 调用将详细信息发送给供应商。
  5. 发送订单响应,其中包含总订单价值、过滤的外部供应商商品及其各自的 HTTP 响应状态。

下表列出了 ExampleIntegration-EcomOrderProcessing 中使用的所有触发器、任务和边缘条件:

组件 配置 说明
API 触发器

(OrderProcessAPITrigger)

触发器 ID api_trigger/ecom-order-processing_API_1 为每个订单请求调用集成。
数据映射任务

(订单总价)

输入 输出 提取 order_request JSON 输入变量,并使用 FOR_EACH 映射函数遍历所有订单项,以计算总订单价格。

总订单价格的计算方法是:使用 GET_PROPERTYMULTIPLY 映射函数将商品 quantityprice_per_item 相乘。

然后,最终值会转换为双精度数据类型,并存储在 total_order_value 输出变量中。


orders_request.line_items
.FOR_EACH(~obj1->~obj1
  .GET_PROPERTY("quantity")
  .TO_DOUBLE()
  .MULTIPLY(~obj1
    .GET_PROPERTY("price_per_unit")
    .TO_DOUBLE()))
.TO_DOUBLE_ARRAY()
.SUM()
total_order_value
边缘条件

(总订单价值高于阈值)

条件 $total_order_value$ >= $threshold_order_value$ 检查总订单价值是否大于或等于 $100。如果是,系统会将控件传递到审批任务
边缘条件

(TotalOrderValue 低于阈值)

条件 $total_order_value$ < $threshold_order_value$ 检查总订单价值是否低于 $100。如果是,则将该控件传递给“过滤外部项”任务
审批任务

(审批)

收件人Enter the approver's email address

为了测试此示例集成,您可以使用您的电子邮件来确认集成是否已成功完成。

向一个或多个集成用户发送审批请求电子邮件。该电子邮件中包含指向集成的链接,用户可以在其中手动批准或拒绝请求。
数据映射任务

(过滤外部项)

输入 输出 提取 order_request JSON 输入变量,并使用 FILTER 映射函数过滤外部供应商的所有订单项。

然后,过滤后的值会存储在 filtered_external_items 输出变量中。


orders_request
.GET_PROPERTY("line_items")
.FILTER(~obj1->~obj1
  .GET_PROPERTY("vendor")
  .TO_STRING()
  .EQUALS("External"))
filtered_external_items
对于每个循环任务

(对于每个循环)

要迭代的列表filtered_external_items

API 触发器 IDapi_trigger/ecom-order-processing_API_2

集成名称 ExampleIntegration-EcomOrderProcessing

遍历 filtered_external_items 变量,并针对数组中的每个元素调用子集成。它还会在 rest_call_response_status 中整理每次运行的响应,其中数组的每个元素都有对某次运行的响应。
API 触发器

(报告 ExternalOrders)

触发器 ID api_trigger/ecom-order-processing_API_2 针对 Filter_external_items 中的每个元素调用子集成。
“调用 REST 端点”任务

(调用 REST 端点)

端点基准网址 https://mocktarget.apigee.net/echo

HTTP 方法POST

请求正文 sub_integration_input

对 https://mocktarget.apigee.net/echo 进行 REST 调用。

发布并测试示例集成

如需发布集成,请点击集成编辑器工具栏中的发布

成功发布集成后,您可以查看和检查已发布集成的执行日志。如需查看日志,请点击显示执行日志图标的图片查看此集成的执行日志。系统会显示执行日志页面。

通过集成编辑器进行测试

请按以下步骤测试示例集成:

  1. 点击集成编辑器工具栏中的 Test,然后选择 OrderProcessAPITrigger

    此时将显示测试集成对话框。

  2. 系统会提示您修改 orders_request 输入变量。出于此测试的目的,您可以将 quantity 值更新为 240。更新 orders_request 输入变量应如下所示:
        {
          "order_no": "12345",
          "buyer_id": "raambo",
          "line_items": [
            {
              "line": 1,
              "sku": "tr100",
              "vendor": "Internal",
              "quantity": 1,
              "price_per_unit": 10
            },
            {
              "line": 2,
              "sku": "tbz",
              "vendor": "External",
              "quantity": 240,
              "price_per_unit": 1
            }
          ]
        }
        
  3. 点击测试集成

由于更新后的 orders_request 数量大于 200,示例集成会向审批任务收件人字段中指定的电子邮件地址发送审批请求电子邮件。收到批准后,集成订单操作便会成功完成。

如需详细了解测试,请参阅测试和发布集成

执行以下操作,检查执行日志并查看指定集成的状态和载荷:

  1. 在集成编辑器中,点击显示执行日志图标的图片查看此集成的执行日志。系统会显示执行日志页面。
  2. 执行日志页面上,您可以查看每次尝试运行集成的相关详细信息。每个条目都包含执行尝试的相关详细信息,其中包括:
    • 集成名称
    • 执行 ID
    • 状态
    • 开始时间
    • 时长
    • 集成版本
    • 触发器 ID
  3. 点击已执行集成旁边的展开箭头 (>),以查看集成中任务和变量的扩展列表,以及任务状态和变量载荷。

使用 REST API 调用进行测试

测试用例 1:使用默认输入发送请求

  curl -X POST -H "Content-Type: application/json" -d '{"trigger_id":"api_trigger/ecom-order-processing_API_1"}' 'https://integrations.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/integrations/INTEGRATION_NAME:execute' -H "Authorization: Bearer $(gcloud auth print-access-token)"

测试用例 2:发送包含自定义输入的请求

  curl -X POST -H "Content-Type: application/json" -d '{ "triggerId": "api_trigger/ecom-order-processing_API_1", "inputParameters": { "orders_request": { "jsonValue": "{\n \"order_no\": \"12345\",\n \"buyer_id\": \"raambo\",\n \"line_items\": [{\n \"line\": 1.0,\n \"sku\": \"tr100\",\n \"vendor\": \"Internal\",\n \"quantity\": 1.0,\n \"price_per_unit\": 10.0\n }, {\n \"line\": 2.0,\n \"sku\": \"tbz\",\n \"vendor\": \"External\",\n \"quantity\": 24.0,\n \"price_per_unit\": 2.0\n }]\n}" } } }' 'https://integrations.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/integrations/INTEGRATION_NAME:execute' -H "Authorization: Bearer $(gcloud auth print-access-token)"

替换以下内容:

  • PROJECT_ID:您的 Google Cloud 项目的 ID。
  • LOCATION:集成位置。请参阅 Application Integration 位置
  • INTEGRATION_NAME:集成的名称。

测试输出

API 会返回包含所有集成输出变量值的集成执行响应。