共用方式為


將 Azure Web 應用程式匯入為 API

適用於:所有 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 管理中個別管理。

必要條件

匯入和發佈後端 API

提示

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

  1. Azure 入口網站中,瀏覽至您的 API 管理服務。

  2. 在左側功能表中的 [ API] 區段中,選取 [ API],然後選取 [ + 新增 API]。

  3. 選取 [App Service ] 圖格:

    顯示 App Service 磚塊的螢幕截圖。

  4. 選取 [瀏覽 ] 以檢視您訂用帳戶中的應用程式服務清單。

  5. 選取應用程式服務,然後按下 [ 選取 ] 按鈕。 如果 OpenAPI 定義與選取的 Web 應用程式相關聯,API 管理會擷取並匯入它。

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

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

  7. 如果您想要發佈 API 並可供開發人員使用,請切換至 [完整 檢視],並將 API 與 產品產生關聯。 此範例使用 無限制 產品。 (當您創建產品時或之後,您可以透過 [設定] 索引標籤將 API 新增至產品。)

    注意

    產品是透過開發人員入口網站提供給開發人員的一或多個API的關聯。 首先,開發人員必須訂閱產品,才能取得 API 的存取權。 訂閱之後,他們會取得產品中任何 API 的訂用帳戶密鑰。 身為 API 管理實例的建立者,身為系統管理員,且預設會訂閱每個產品。

    在特定層級中,每個 API 管理實例都會隨附兩個預設範例產品:

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

  9. 選取 建立 顯示 [從 App Service 建立] 視窗的螢幕快照。

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

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

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

  2. 在 [ 測試] 索引標籤上,選取作業。

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

  3. 按 [傳送] 。

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

在網站中測試通配符操作

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

若要測試路徑 /api/todoItems

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

  2. 在 [ 測試] 索引標籤的 [ 樣本參數] 底下,更新通配符 \ 名稱旁的值。 例如,輸入 api/todoItems。 這個值會附加至萬用字元作業的路徑 /

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

  3. 請選取傳送

附加其他 API

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

  • OpenAPI 規格
  • SOAP API
  • GraphQL API
  • 裝載在 Azure App Service 中的 Web 應用程式
  • Azure Functions(Microsoft 雲端服務)
  • Azure Logic 應用程式
  • Azure Service Fabric

注意

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

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

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

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

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

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

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

  4. 從下拉選單中選擇匯入

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

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