匯入 Azure Web 應用程式作為 API

適用於:所有 API 管理 層

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

注意

您可以使用適用於 Visual Studio Code 的 API 管理延伸模組來匯入和管理 API。 請遵循 API 管理延伸模組教學課程來安裝和開始使用。

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

  • 匯入在 App Service 中託管的 Web 應用程式
  • 在 Azure 入口網站中測試 API

使用 API 管理公開 Web 應用程式

Azure App Service 是 HTTP 服務,用來裝載 Web 應用程式、REST API 和行動後端。 API 開發人員可以使用本身慣用的技術堆疊和管線來開發 API,並在安全、可調整的環境中發佈 API 後端作為 Web 應用程式。 然後,使用 API 管理來公開 Web 應用程式、管理和保護 API 的整個生命週期,並發佈給取用者。

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

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

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

OpenAPI 規格與萬用字元作業

API 管理支援匯入裝載於 App Service 並包含 OpenAPI 規格 (Swagger 定義) 的 Web 應用程式。 不過,不需要 OpenAPI 規格。

  • 如果 Web 應用程式已在 API 定義中設定 OpenAPI 規格,API 管理會建立直接對應至定義的 API 作業,包括必要的路徑、參數和回應類型。

    建議使用 OpenAPI 規格,因為 API 會以高精確度匯入至 API 管理,讓您有彈性地個別驗證、管理、保護及更新每個作業的設定。

  • 如果未提供 OpenAPI 規格,則 API 管理會產生常見 HTTP 動詞 (GET、PUT 等萬用字元作業)。 將必要的路徑或參數附加至萬用字元作業,以將 API 要求傳遞至後端 API。

    使用萬用字元作業,您仍然可以利用相同的 API 管理功能,但作業並未預設定義在相同的詳細層級。 不論是哪一種情況,您都可以編輯作業或將作業新增至匯入的 API。

範例

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

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

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

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

GET /customers
GET https://contosoapi.azureapi.net/store/customer/1

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

GET https://contosoapi.azureapi.net/store/customers

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

必要條件

移至您的 API 管理執行個體

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

    選取 API 管理 服務

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

    選取您的 API 管理 實例

匯入和發佈後端 API

提示

下列步驟會在 Azure 入口網站中使用 Azure API 管理開始匯入。 您也可以直接從 Web 應用程式連結至 API 管理,方法是從應用程式的 API 功能表選取 API 管理。

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

  2. 從清單中選取 App Service

    從 App Service 建立

  3. 選取 [瀏覽] 以查看您訂閱中的 App Service 清單。

  4. 選取 App Service。 如果 OpenAPI 定義與選取的 Web 應用程式建立關聯,則 API 管理會擷取它並將其匯入。

    如果找不到 OpenAPI 定義,API 管理會產生常見 HTTP 動詞的萬用字元作業來公開 API。

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

  6. 透過將 API 關聯至某個產品來發佈 API。 在本案例中,我們使用「無限制」的產品。 如果您想要發佈 API 以供開發人員使用,請將其新增至產品。 您可以在 API 建立期間執行此動作,或稍後設定它。

    注意

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

    依預設,每個 API 管理執行個體會隨附兩個範例產品:

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

  8. 選取 建立從 App Service 建立 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 的服務。

    選取服務

下一步