共用方式為


將 Azure 容器應用程式匯入為 API

適用於:所有 API 管理層

本文說明如何將 Azure 容器應用程式匯入 Azure API 管理作為 API,並使用 Azure 入口網站測試匯入的 API。

附註

目前,此功能無法在工作區中使用。

在本文中,您將學會如何:

  • 匯入公開 Web API 的容器應用程式
  • 在 Azure 入口網站中測試 API

使用 API 管理公開容器應用程式

Azure 容器應用程式可讓您部署容器化應用程式,而不需管理複雜的基礎結構。 API 開發人員可以使用慣用的程式設計語言或架構撰寫程式代碼、使用分散式應用程式運行時間 (Dapr) 的完整支援建置微服務,並根據 HTTP 流量或其他事件進行調整。

藉由使用 API 管理來公開裝載在容器應用程式中的 Web API,您會獲得下列優點:

  • 將公開給 API 取用者的前端與管理與監視後端 Web API 分離並加以保護。
  • 管理裝載為容器應用程式的 Web API,其環境與您其他 API 相同。
  • 套用 原則 以變更 API 行為,例如呼叫速率限制。
  • 將 API 取用者導向至可自定義的 API 管理 開發人員入口網站 ,以便探索並瞭解您的 API、要求存取權,以及試用 API。

如需詳細資訊,請參閱關於 API 管理

OpenAPI 規格與通配符作業

API 管理支援匯入提供 OpenAPI 規格的容器應用程式(Swagger 定義)。 不需要 OpenAPI 規格,但建議您提供一個。 API 管理可以匯入個別作業,讓您個別驗證、管理、保護及更新每個作業的組態。

如果容器應用程式公開 OpenAPI 規格,API 管理會建立直接對應至定義的 API 作業。 API 管理會在多個位置尋找 OpenAPI 規格。

  • 容器應用程式組態
  • /openapi.json
  • /openapi.yml
  • /swagger/v1/swagger.json

如果未提供 OpenAPI 規格,則 API 管理會產生常見 HTTP 動詞 (GET、PUT 等萬用字元作業)。 您仍然可以利用相同的 API 管理功能,但作業並未定義在相同的詳細層級。

不論是哪一種情況,您都可以在匯入作業之後 編輯新增 至 API。

範例

後端容器應用程式可能支援兩個 GET 作業:

  • https://<app-service>.azurewebsites.net/customer/{id}
  • https://<app-service>.azurewebsites.net/customers

您會將容器應用程式匯入至 API 管理服務,路徑如 https://<api>.azure-api.net/store。 下表顯示匯入至 API 管理的作業,無論是否具有 OpenAPI 規格:

類型 匯入的操作 範例要求
OpenAPI 規格 GET /customer/{id}

GET /customers
GET https://<api>.azure-api.net/store/customer/1

GET https://<api>.azure-api.net/store/customers
萬用字元 GET /* GET https://contosoapi.azure-api.net/store/customer/1

GET https://<api>.azure-api.net/store/customers

萬用字元作業允許與 OpenAPI 規格中作業相同的後端服務要求。 不過,OpenAPI 指定的作業可以在 API 管理中個別管理。

必要條件

匯入和發佈後端 API

  1. 在 Azure 入口網站中瀏覽至您的 API 管理服務,然後選取左窗格中的 API>API

  2. [從 Azure 資源建立] 下,選取 [容器應用程式]:

    顯示 [容器應用程式] 圖格的螢幕擷取畫面。

  3. 選取 [瀏覽 ] 以查看訂用帳戶中的容器應用程式清單。

  4. 選取容器應用程式。 如果 OpenAPI 定義與選取的容器應用程式相關聯,API 管理會擷取並匯入它。 如果找不到 OpenAPI 定義,API 管理會產生常見 HTTP 動詞的萬用字元作業來公開 API。

  5. 新增 API URL 後綴。 後綴是識別 API 管理實例中 API 的名稱。 它必須在 API 管理實例中是唯一的。

  6. 將 API 與產品產生關聯。 選取 [完整 ],然後在 [ 產品] 中選取產品。 在此情況下,會使用 無限制 產品。 如果您想要發佈 API 並可供開發人員使用,您必須將其新增至產品。

    附註

    產品 是一或多個 API 的關聯。 您可以包含多個 API,並透過開發人員入口網站將其提供給開發人員。 開發人員必須先訂閱產品,才能取得 API 的存取權。 當他們訂閱時,他們會收到適用於該產品中任何 API 的訂用帳戶密鑰。 如果您建立了 APIM 執行個體,表示您就是系統管理員,因此根據預設,您已訂閱每一個產品。

    在某些定價層中,當您建立 API 管理實例時,會隨附兩個範例產品:

    • 入門
    • 無限制
  7. 輸入其他 API 設定。 您可以在建立 API 時設定這些值,或稍後 在 [設定 ] 索引標籤上加以設定。這些設定會在 匯入和發佈您的第一個 API 教學課程中說明。

  8. 選取 [建立]

    顯示 [從容器應用程式建立] 視窗的螢幕快照。

在 Azure 入口網站中測試新的 API

您可以直接從 Azure 入口網站呼叫作業。 此方法是檢視及測試 API 作業的便利方式。 您也可以在 開發人員入口網站 中測試 API,或使用自己的 REST 用戶端工具。

若要在 Azure 入口網站中測試 API:

  1. 選取您在上一個步驟中建立的 API。

  2. 選取 [測試] 索引標籤。

  3. 選取作業。

    頁面會顯示用於查詢參數的欄位以及用於標頭的欄位。 其中一個標頭是 Ocp-Apim-Subscription-Key。 此標頭適用於與 API 相關聯之產品的訂用帳戶密鑰。 如果您已建立 API 管理實例,您就是系統管理員,因此會自動填入密鑰。

  4. 請選取傳送

    測試成功時,後端會回應 200 OK 和一些資料。

在入口網站中測試萬用字元作業

產生萬用字元作業時,作業可能不會直接對應至後端 API。 例如,API 管理匯入的萬用字元 GET 作業預設會使用路徑 /。 不過,您的後端 API 可能支援下列路徑的 GET 作業:

/api/TodoItems

若要測試 /api/TodoItems 路徑:

  1. 選取您建立的 API,然後選取作業。

  2. 選取 [測試] 索引標籤。

  3. 在 [範本參數] 中,更新萬用字元 (*) 名稱旁的值。 例如,輸入 api/TodoItems。 此值會附加至用於通配符作業的路徑 /

    顯示測試通配符作業步驟的螢幕快照。

  4. 請選取傳送

附加其他 API

您可以將由不同服務所公開的 API 組合成一個 API,包括:

  • OpenAPI 規格
  • SOAP API
  • GraphQL API
  • 裝載在 Azure App Service 中的 Web 應用程式
  • Azure Functions
  • Azure Logic Apps
  • Azure Service Fabric

附註

當您匯入 API 時,作業會附加至您目前的 API。

若要將 API 附加至現有的 API:

  1. 在 Azure 入口網站中移至您的 Azure API 管理實例:

    顯示 [API 管理服務] 頁面的螢幕快照。

  2. 在 [概觀] 頁面上選取 [API],或選取左側功能表中的 [API]>[API]

    顯示 [概觀] 頁面上 [API] 選取項目的螢幕快照。

  3. 在要附加至另一個 API 的 API 旁選取省略符號 (...)。

  4. 從下拉功能表中選取 匯入

    顯示 [匯入] 命令的螢幕快照。

  5. 選取要從中匯入 API 的服務。