试用示例集成
首次在 Google Cloud 项目中设置 Application Integration 时,Application Integration 默认会创建一个名为 ExampleIntegration-EcomOrderProcessing 的未发布的示例集成。
查看示例集成
如需查看集成示例,请执行以下操作:
- 在 Google Cloud 控制台中,前往 Application Integration 页面。
- 点击左侧导航菜单中的集成,打开集成页面。
- 点击名为 ExampleIntegration-EcomOrderProcessing 的集成。
电子商务示例集成
您可以使用此示例集成来亲身体验 Application Integration 的各种触发器、任务和概念。
此示例集成展示了一个基本的电子商务后端场景,其中实现了以下订单处理操作:
- 从 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 } ] }
- 提取订单载荷并计算订单总价值。
- 检查总订单金额是否大于或等于 100 美元。如果需要,请获得额外批准才能继续。
- 检查是否有任何订单项具有外部供应商。如果为“是”,则使用 REST API 调用将详细信息发送给供应商。
- 发送包含订单总价值、经过滤的外部供应商商品及其各自的 HTTP 响应状态的订单响应。
下表列出了 ExampleIntegration-EcomOrderProcessing 中使用的所有触发器、任务和边缘条件:
| 组件 | 配置 | 说明 | |
|---|---|---|---|
| API 触发器
(OrderProcessAPITrigger) |
触发器 ID: api_trigger/ecom-order-processing_API_1
|
针对每个订单请求调用集成。 | |
| 数据映射任务
(查找总订单价格) |
输入 | 输出 | 提取 order_request JSON 输入变量,并使用 FOR_EACH 映射函数遍历所有订单项,以计算订单总价。
订单总价是通过使用 GET_PROPERTY 和 MULTIPLY 映射函数将商品
然后,将最终值转换为 double 数据类型并存储在 |
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 美元。如果为“是”,则控制权会传递给审批任务。 | |
| 边缘条件
(总订单价值低于阈值) |
条件: $total_order_value$ < $threshold_order_value$
|
检查订单总价值是否低于 100 美元。如果为“是”,则将控制权传递给过滤外部项任务。 | |
| 审批任务
(审批) |
收件人: Enter the approver's email address 为了测试此示例集成,您可以使用自己的电子邮件地址来确认集成已成功完成。 |
向一个或多个集成用户发送审批请求电子邮件。该电子邮件会包含一个集成链接,用户可手动批准或拒绝该请求。 | |
| 数据映射任务
(过滤外部商品) |
输入 | 输出 | 提取 order_request JSON 输入变量,并使用 FILTER 映射函数过滤所有具有外部供应商的订单项。
然后,过滤后的值会存储在 |
orders_request .GET_PROPERTY("line_items") .FILTER(~obj1->~obj1 .GET_PROPERTY("vendor") .TO_STRING() .EQUALS("External")) |
filtered_external_items
|
||
| “针对每一个循环”任务
(针对每个循环) |
迭代列表: filtered_external_items
API 触发器 ID:
集成名称: |
遍历 filtered_external_items 变量,并针对数组中的每个元素调用子集成。它还会整理 rest_call_response_status 中每次运行的响应,其中数组的每个元素都有一次特定运行的响应。
|
|
| API 触发器
(Report ExternalOrders) |
触发器 ID: api_trigger/ecom-order-processing_API_2
|
针对 filtered_external_items 中的每个元素调用子集成。 | |
| “调用 REST 端点”任务
(调用 REST 端点) |
端点基准网址: https://mocktarget.apigee.net/echo
HTTP 方法:
请求正文: |
向 https://mocktarget.apigee.net/echo 发出 REST 调用。 | |
发布并测试示例集成
如需发布集成,请点击集成编辑器工具栏中的发布。
成功发布集成后,您可以查看和检查已发布集成的执行日志。如需查看日志,请点击
查看此集成的执行日志。系统会显示执行日志页面。
在集成编辑器中进行测试
如需测试示例集成,请执行以下操作:
- 点击集成编辑器工具栏中的测试,然后选择 OrderProcessAPITrigger。
此时会显示测试集成窗格。
- 系统会提示您修改
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 } ] }
- 点击测试集成。
由于更新后的 orders_request 数量大于 200,因此示例集成会向审批任务的收件人字段中指定的电子邮件地址发送审批请求电子邮件。收到审批后,集成订单操作将成功完成。
如需详细了解测试,请参阅测试和发布集成。
如需检查执行日志并查看给定集成的状态和载荷,请执行以下操作:
- 在集成编辑器中,点击
查看此集成的执行日志。系统会显示执行日志页面。 - 在执行日志页面上,您可以查看每次尝试运行集成的相关详细信息。每个条目都包含执行尝试的相关详细信息,其中包括:
- 集成名称
- 执行 ID
- 状态
- 开始时间
- 时长
- 集成版本
- 触发器 ID
- 点击已执行集成旁边的展开箭头 (>),以查看集成中任务和变量的扩展列表,以及任务状态和变量载荷。
使用 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 会返回包含所有集成输出变量值的集成执行响应。
配额和限制
如需详细了解配额和限制,请参阅配额和限制。