適用於:所有 API 管理層
本文說明如何使用 Azure 入口網站,將 Azure Web 應用程式匯入為 Azure API 管理,並測試匯入的 API。
注意
目前,此功能無法在工作區中使用。
在本文中,您將學會如何:
- 匯入裝載在 Azure App Service 中的 Web 應用程式作為 API
- 在 Azure 入口網站中測試 API
使用 API 管理公開 Web 應用程式
Azure App Service 是 HTTP 服務,用來裝載 Web 應用程式、REST API 和行動後端。 API 開發人員可以使用其慣用的技術堆疊和管線來開發 API,並將其 API 後端發佈為安全、可調整環境中的 Web 應用程式。 然後,他們可以使用 API 管理來公開 Web 應用程式、管理及保護整個生命週期中的 API,並將其發佈至取用者。
使用 API 管理來公開 Web Apps 裝載的 API 可提供下列優點:
- 將管理和保護公開給 API 使用者的前端,與管理和監控後端 Web 應用程式相分離。
- 在與其他 API 相同的環境中,管理裝載為 Web 應用程式的 Web API。
- 套用 原則 以變更 API 行為,例如呼叫速率限制。
- 將 API 取用者導向至可自定義的 API 管理 開發人員入口網站 ,以便探索並瞭解您的 API、要求存取權,以及試用 API。
如需詳細資訊,請參閱關於 API 管理。
OpenAPI 定義與通配符作業
API 管理支援匯入 App Service 中裝載的 Web 應用程式,其中包含 OpenAPI 定義(Swagger 定義)。 不過,不需要 OpenAPI 定義。
如果 Web 應用程式已設定為 OpenAPI 定義,API 管理會偵測到。 或者,您也可以手動將定義匯入至 API 管理。 然後,API 管理會建立直接對應至定義的 API 作業,包括所需的路徑、參數和回應類型。
建議使用 OpenAPI 定義,因為 API 會以高逼真度匯入 API 管理,讓您有彈性地驗證、管理、保護及更新每個作業的組態。
如果未提供 OpenAPI 定義,則 API 管理會產生常見 HTTP 動詞 (GET、PUT 等萬用字元作業)。 將必要的路徑或參數附加至萬用字元作業,以將 API 要求傳遞至後端 API。
使用萬用字元作業,您仍然可以利用相同的 API 管理功能,但作業並未預設定義在相同的詳細層級。 不論是哪一種情況,您都可以編輯作業或將作業新增至匯入的 API。
範例
您的後端 Web 應用程式可能支援兩個 GET 作業:
https://<app-service>.azurewebsites.net/customer/{id}
https://<app-service>.azurewebsites.net/customers
您會將 Web 應用程式匯入至 API 管理服務的路徑,例如 https://<api>.azureapi.net/store
。 下表顯示匯入至 API 管理的作業,包含或不含 OpenAPI 規格:
類型 | 匯入的作業 | 範例要求 |
---|---|---|
OpenAPI 規格 | GET /customer/{id} GET /customers |
GET https://<api>.azureapi.net/store/customer/1 GET https://<api>.azureapi.net/store/customers |
萬用字元 | GET /* |
GET https://<api>.azureapi.net/store/customer/1 GET https://<api>.azureapi.net/store/customers |
萬用字元作業允許與 OpenAPI 規格中作業相同的後端服務要求。 不過,OpenAPI 指定的作業可以在 API 管理中個別管理。
必要條件
完成建立 Azure API 管理實例的快速入門。
請確定您的訂用帳戶中有應用程式服務。 如需詳細資訊,請參閱 App Service 文件。
如需建立範例 Web API 並將其發佈為 Azure Web 應用程式的相關信息,請參閱:
匯入和發佈後端 API
提示
在下列步驟中,您會在 Azure 入口網站中使用 API 管理來啟動匯入。 您也可以從 Web 應用程式直接連結至 API 管理,方法是在應用程式的 API 功能表中選取 [API 管理]。
在 Azure 入口網站中,瀏覽至您的 API 管理服務。
在左側功能表中的 [ API] 區段中,選取 [ API],然後選取 [ + 新增 API]。
選取 [App Service ] 圖格:
選取 [瀏覽 ] 以檢視您訂用帳戶中的應用程式服務清單。
選取應用程式服務,然後按下 [ 選取 ] 按鈕。 如果 OpenAPI 定義與選取的 Web 應用程式相關聯,API 管理會擷取並匯入它。
如果找不到 OpenAPI 定義,API 管理會產生常見 HTTP 動詞的萬用字元作業來公開 API。
新增 API URL 後綴。 後綴是識別 API 管理實例中 API 的名稱。 它必須在 API 管理實例中是唯一的。
如果您想要發佈 API 並可供開發人員使用,請切換至 [完整 檢視],並將 API 與 產品產生關聯。 此範例使用 無限制 產品。 (當您創建產品時或之後,您可以透過 [設定] 索引標籤將 API 新增至產品。)
注意
產品是透過開發人員入口網站提供給開發人員的一或多個API的關聯。 首先,開發人員必須訂閱產品,才能取得 API 的存取權。 訂閱之後,他們會取得產品中任何 API 的訂用帳戶密鑰。 身為 API 管理實例的建立者,身為系統管理員,且預設會訂閱每個產品。
在特定層級中,每個 API 管理實例都會隨附兩個預設範例產品:
- 入門
- 無限制
輸入其他 API 設定。 您可以在建立 API 時設定這些值,或稍後移至 [設定] 索引標籤進行設定。設定會在匯入和發佈您的第一個 API 教學課程中說明。
在 Azure 入口網站中測試新的 API
您可以直接從 Azure 入口網站呼叫作業。 這個方法提供方便的方式來檢視及測試 API 的作業。 您也可以在 開發人員入口網站 中測試 API,或使用自己的 REST 用戶端工具。
選取您在上一個步驟中建立的 API。
在 [ 測試] 索引標籤上,選取作業。
頁面會顯示查詢參數的欄位和標頭的欄位。 其中一個標頭是
Ocp-Apim-Subscription-Key
。 此標頭適用於與 API 相關聯之產品的訂用帳戶密鑰。 如果您已建立 API 管理實例,表示您已是系統管理員,因此會自動填入密鑰。按 [傳送] 。
測試成功時,後端會回應 200 OK 和一些資料。
在網站中測試通配符操作
產生萬用字元作業時,作業可能不會直接對應至後端 API。 例如,API 管理匯入的萬用字元 GET 作業預設會使用路徑 /
。 不過,後端 API 可能支援路徑 /api/todoItems
上的 GET 作業。
若要測試路徑 /api/todoItems
:
選取您建立的 API,然後選取作業。
在 [ 測試] 索引標籤的 [ 樣本參數] 底下,更新通配符 \ 名稱旁的值。 例如,輸入 api/todoItems。 這個值會附加至萬用字元作業的路徑
/
。請選取傳送。
附加其他 API
您可以將由不同服務所公開的 API 組合成一個 API,包括:
- OpenAPI 規格
- SOAP API
- GraphQL API
- 裝載在 Azure App Service 中的 Web 應用程式
- Azure Functions(Microsoft 雲端服務)
- Azure Logic 應用程式
- Azure Service Fabric
注意
當您匯入 API 時,作業會附加至您目前的 API。
若要將 API 附加至現有的 API:
在 Azure 入口網站中移至您的 Azure API 管理實例:
在 [概觀] 頁面上選取 [API],或選取左側功能表中的 [API]>[API]。
在要附加至另一個 API 的 API 旁選取省略符號 (...)。
從下拉選單中選擇匯入:
選取要從中匯入 API 的服務。