查看 Application Integration 支援的連接器。
試用範例整合功能
首次在 Google Cloud 專案中設定 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 對應函式,將商品
最終值會轉換為雙精度資料類型,並儲存在 |
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 OrderValue Above Threshold) |
條件: $total_order_value$ >= $threshold_order_value$ |
檢查訂單總價值是否大於或等於 $100 美元。如果是,控制項就會傳送至核准工作。 | |
邊緣條件
(TotalOrderValue Below Threshold) |
條件: $total_order_value$ < $threshold_order_value$
|
檢查訂單總價值是否低於 $100 美元。如果是,系統會將控制項傳遞至「Filter External Items」工作。 | |
審核工作
(核准) |
收件者: 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
|
||
For Each 迴圈工作 (For Each 迴圈) |
要重複的清單: 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 呼叫。 |
發布及測試範例整合
如要發布整合項目,請在整合服務編輯器的工具列中按一下「發布」。
成功發布整合後,您可以查看及檢查已發布的整合項目的執行記錄。如要查看記錄,請按一下「查看這項整合的執行記錄」。系統隨即會顯示「執行記錄」頁面。
透過整合服務編輯器進行測試
請按照下列步驟測試範例整合:
- 在整合服務編輯器工具列中,按一下「Test」,然後選取「OrderProcessAPITrigger」。
「Test Integration」窗格隨即顯示。
- 系統會提示您編輯
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,因此範例整合作業會將核准要求電子郵件傳送至 核准任務中「Recipients」欄位指定的電子郵件地址。收到核准後,整合訂單作業就會順利完成。
如要進一步瞭解測試,請參閱「測試及發布整合」。
請按照下列步驟檢查執行記錄,並查看指定整合項目的狀態和酬載:
- 在整合服務編輯器中,按一下「查看這項整合的執行記錄」
。系統隨即會顯示「執行記錄」頁面。
- 您可以在「執行記錄」頁面中,查看每次嘗試執行整合功能的詳細資料。
每個項目都包含執行作業的詳細資料,包括:
- 整合作業名稱
- 執行 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 會傳回整合執行回應,其中包含所有整合輸出變數值。
配額與限制
如要進一步瞭解配額和限制,請參閱「配額與限制」。