请参阅 Application Integration 支持的连接器

试用示例集成

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

查看示例集成

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

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

    转到 Application Integration

  2. 在导航菜单中,点击集成。随即会出现集成页面。
  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 Below Threshold)

条件:$total_order_value$ < $threshold_order_value$ 检查订单总金额是否低于 100 美元。如果是,则控制权会传递给“过滤外部内容”任务
审批任务

(Approval)

收件人: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 端点”任务

(Call REST Endpoint)

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

HTTP 方法POST

请求正文:sub_integration_input

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

发布和测试示例集成

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

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

通过集成编辑器进行测试

如需测试示例集成,请执行以下操作:

  1. 点击集成编辑器工具栏中的测试,然后选择 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 会返回包含所有集成输出变量值的集成执行响应。

配额和限制

如需了解配额和限制,请参阅配额和限制