匯入 Azure 函式應用程式作為 API

適用於:所有 API 管理 層

本文說明如何將 Azure 容器應用程式匯入 Azure API 管理,並使用Azure 入口網站測試匯入的 API。 在本文中,您將學會如何:

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

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

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

API 管理是公開容器應用程式託管 Web API 的建議環境,原因如下:

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

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

OpenAPI 規格與萬用字元作業

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

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

  • 容器應用程式設定。
  • /openapi.json
  • /openapi.yml
  • /swagger/v1/swagger.json

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

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

範例

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

  • https://myappservice.azurewebsites.net/customer/{id}
  • https://myappservice.azurewebsites.net/customers

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

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

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

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

GET https://contosoapi.azure-api.net/store/customers

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

必要條件

移至您的 API 管理執行個體

  1. 在 Azure 入口網站中,搜尋並選取 [API 管理服務]

    選取 API 管理 服務

  2. 在 [API 管理服務] 頁面中,選取您的 API 管理執行個體。

    選取您的 API 管理 實例

匯入和發佈後端 API

  1. 在 Azure 入口網站中,瀏覽至您的 APIM 服務,然後從功能表中選取 [API]

  2. 從清單中選取 [容器應用程式]

    從容器應用程式建立

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

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

  5. 新增 API URL 尾碼。 此尾碼可用來在此 API 管理執行個體中識別這個 API 的名稱。 該尾碼在此 APIM 執行個體中必須是唯一的。

  6. 透過將 API 關聯至某個產品來發佈 API。 在本案例中,我們使用「無限制」的產品。 如果您想要發佈 API 以供開發人員使用,請將其新增至產品。

    注意

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

    建立時每個 API 管理執行個體會隨附兩個範例產品:

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

  8. 選取 建立

    從容器應用程式建立 API

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

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

  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 函數應用程式
  • Azure Logic 應用程式
  • Azure Service Fabric

使用下列步驟,將不同的 API 附加至您現有的 API。

注意

在您匯入另一個 API 後,作業就會附加至目前的 API。

  1. 移至 Azure 入口網站中的 Azure API 管理執行個體。

    移至 Azure API Mgmt 實例

  2. [概觀] 頁面上,或從左側功能表,選取 [API]

    選取 API

  3. 在您要附加另一個 API 的 API 旁,按一下 ...

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

    選取匯入

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

    選取服務

下一步