從 Azure Logic Apps 中的工作流程連線或呼叫 REST API 端點
適用於:Azure Logic Apps (使用量 + 標準)
若要從 Azure Logic Apps 中的邏輯應用程式工作流程呼叫 REST API 端點,您可以使用內建的 HTTP + Swagger 作業,透過 Swagger 檔案呼叫任何 REST API 端點。 HTTP + Swagger 觸發程序和動作的運作方式與 HTTP 觸發程序和動作相同,但能夠藉由公開 Swagger 檔案所描述的 API 結構和輸出,在工作流程設計工具中提供更好的體驗。 若要實作輪詢觸發程序,請遵循建立自訂 API 來呼叫邏輯應用程式工作流程的其他 API、服務和系統中所述的輪詢模式。
限制
HTTP + Swagger 內建作業目前僅支援 OpenAPI 2.0,而不是 OpenAPI 3.0。
必要條件
帳戶和 Azure 訂用帳戶。 如果您沒有 Azure 訂用帳戶,請先註冊免費的 Azure 帳戶。
Swagger 檔案的 URL,描述您想要呼叫的目標 REST API 端點
一般而言,REST 端點必須符合下列準則,觸發程式或動作才能運作:
Swagger 檔案必須裝載於可公開存取的 HTTPS URL 上。
Swagger 檔案必須包含定義中每個作業的 operationID 屬性。 如果未包含,連接器只會顯示 Swagger 檔案中的最後一個作業。
Swagger 檔案必須已啟用跨原始來源資源共用 (CORS) \(部分機器翻譯\)。
本指南中的範例使用 Azure AI 臉部服務,其需要 Azure AI 服務資源索引鍵和區域。
注意
若要參考未託管或不符合安全性和跨原始來源需求的 Swagger 檔案,您可以將 Swagger 檔案上傳到 Azure 儲存體帳戶中的 Blob 容器,並在該儲存體帳戶上啟用 CORS,如此就能參考檔案。
您想要從中呼叫目標端點的使用量或標準邏輯應用程式工作流程。 若要開始使用 HTTP + Swagger 觸發程序,請使用空白工作流程建立邏輯應用程式資源。 若要使用 HTTP + Swagger 動作,請使用您所需的任何觸發程序來啟動工作流程。 此範例會使用 HTTP + Swagger 觸發程序作為第一個作業。
新增 HTTP + Swagger 觸發程序
此內建觸發程序會將 HTTP 要求傳送至描述 REST API 的 Swagger 檔案 URL。 然後觸發程序就會傳回包含該檔案內容的回應。
在 Azure 入口網站中,於設計工具中開啟您的標準邏輯應用程式資源和空白工作流程。
在 [Swagger 端點] 方塊中,輸入您需要的 Swagger 檔案的 URL,然後選取 [新增動作]。
請務必使用或建立您自己的端點。 僅作為範例使用,這些步驟會採用位於美國西部區域的下列 Azure AI 臉部 API Swagger URL,而且可能無法在特定觸發程序中運作:
https://westus.dev.cognitive.microsoft.com/docs/services/563879b61984550e40cbbe8d/export?DocumentFormat=Swagger&ApiName=Face%20API%20-%20V1.0
當設計工具顯示 Swagger 檔案所描述的作業時,選取您要使用的作業。
下列範例會將觸發程序重新命名為臉部 - 偵測,讓觸發程序具有更具描述性的名稱。
提供觸發程序參數的值,其會根據您想要包含在端點呼叫中的所選作業而不同。 設定您想要觸發程序呼叫端點的頻率週期。
若要新增其他可用參數,請開啟 [進階參數] 清單,然後選取您需要的參數。
如需適用於 HTTP + Swagger 的驗證類型詳細資訊,請參閱將驗證新增至輸出呼叫。
使用觸發程序引發時您要執行的動作來繼續建置工作流程。
完成後,請儲存您的工作流程。 在設計師工具列上選取儲存。
新增 HTTP + Swagger 動作
此內建動作會將 HTTP 要求傳送至描述 REST API 的 Swagger 檔案 URL。 然後動作就會傳回包含該檔案內容的回應。
在 Azure 入口網站中,於設計工具中開啟您的標準邏輯應用程式資源和工作流程。
在 [Swagger 端點] 方塊中,輸入您需要的 Swagger 檔案的 URL,然後選取 [新增動作]。
請務必使用或建立您自己的端點。 僅作為範例使用,這些步驟會採用位於美國西部區域的下列 Azure AI 臉部 API Swagger URL,而且可能無法在特定觸發程序中運作:
https://westus.dev.cognitive.microsoft.com/docs/services/563879b61984550e40cbbe8d/export?DocumentFormat=Swagger&ApiName=Face%20API%20-%20V1.0
當設計工具顯示 Swagger 檔案所描述的作業時,選取您要使用的作業。
下列範例會將動作重新命名為臉部 - 識別,讓動作具有更具描述性的名稱。
提供動作參數的值,其會根據您想要包含在端點呼叫中的所選作業而不同。
若要新增其他可用參數,請開啟 [進階參數] 清單,然後選取您需要的參數。
如需適用於 HTTP + Swagger 的驗證類型詳細資訊,請參閱將驗證新增至輸出呼叫。
使用您要執行的任何其他動作來繼續建置您的工作流程。
完成後,請儲存您的工作流程。 在設計師工具列上選取儲存。
在 Azure 儲存體中裝載 Swagger
您仍可參考未託管或不符合安全性及跨原始來源需求的 Swagger 檔案。 將 Swagger 檔案上傳至 Azure 儲存體帳戶中的 Blob 容器,並在該儲存體帳戶上啟用 CORS。 若要在 Azure 儲存體中建立、設定和儲存 Swagger 檔案,請遵循下列步驟:
現在針對 Blob 啟用 CORS。 在您的儲存體帳戶功能表上,選取 [CORS]。 在 [Blob 服務] 索引標籤上,指定這些值,然後選取 [儲存]。
屬性 值 允許的原始來源 *
允許的方法 GET
、 、HEAD
PUT
允許的標頭 *
公開的標頭 *
存留期上限 (秒) 200
儘管此範例會使用 Azure 入口網站,但您還是可以使用 Azure 儲存體總管之類的工具,或使用此範例 PowerShell 指令碼來自動設定此設定。
建立 Blob 容器。 在容器的 [概觀] 窗格中,選取 [變更存取層級]。 從 [公用存取層級] 清單中,選取 [Blob (僅限 blob 的匿名讀取權限)],然後選取 [確定]。
若要參考 Blob 容器中的檔案,請從 Azure 儲存體總管中取得遵循此格式的 HTTPS URL (區分大小寫):
https://<storage-account-name>.blob.core.windows.net/<blob-container-name>/<complete-swagger-file-name>?<query-parameters>
連接器技術參考
本節針對來自 HTTP + Swagger 觸發程序和動作的輸出提供詳細資訊。
輸出
HTTP + Swagger 呼叫會傳回下列資訊:
屬性名稱 | 類型 | 描述 |
---|---|---|
headers | Object | 要求的標頭 |
body | Object | 具有來自要求之本文內容的物件 |
狀態碼 | 整數 | 要求的狀態碼 |
狀態碼 | 描述 |
---|---|
200 | 確定 |
202 | 已接受 |
400 | 錯誤要求 |
401 | 未經授權 |
403 | 禁止 |
404 | 找不到 |
500 | 內部伺服器錯誤。 發生未知錯誤。 |