練習 - 建立 API 閘道

已完成

在此練習中,您會部署範例 Web API,並設定 API 閘道。 在稍後的單元中,您會將 Web API 發佈至您的閘道。

在鞋業公司範例中,NorthWind Shoes 決定要與合作夥伴共用庫存 API。 此 API 讓夥伴能夠存取存貨和產品資訊。

重要

您必須有自己的 Azure 訂用帳戶才能執行本練習,且可能會產生費用。 如果您還沒有 Azure 訂用帳戶,請在開始前建立免費帳戶

部署 ShoeCompany Web API

您已開發 .NET Core 應用程式來產生庫存和產品資訊。 此應用程式包含 Swashbuckle 來產生 OpenAPI Swagger 文件。

為了節省時間,讓我們從執行指令碼以在 Azure 中裝載 RESTful API 開始。 該指令碼會執行下列步驟:

  • 在免費層中建立 Azure App Service 方案。
  • 在 Azure App Service 內建立一個 Web API,設定為從本地存放庫進行 Git 部署。
  • 為我們的應用程式設定帳戶層級的部署認證。
  • 在本機設定 Git。
  • 將我們的 Web API 部署到 App Service 執行個體。
  1. 登入 Azure 入口網站

  2. 在 Azure 工作列中,選取 Cloud Shell 圖示以開啟 Azure Cloud Shell。

    工作列中 Cloud Shell 圖示的螢幕擷取畫面。

  3. 在 Cloud Shell 中執行下列 git 命令,以複製 GitHub 存放庫並下載我們的應用程式的原始程式碼。

    git clone https://github.com/MicrosoftDocs/mslearn-publish-manage-apis-with-azure-api-management.git
    
  4. 作業完成之後,請開啟本機存放庫資料夾,並執行下列命令來列出其內容。

    cd mslearn-publish-manage-apis-with-azure-api-management
    ls -l
    

    其中一個檔案是 setup.sh。如其名稱所示,它是我們要執行以設定測試 API 的指令碼。

  5. 輸入下列命令以執行指令碼。 它會產生一個公開 OpenAPI 介面的公用 Web 應用程式。

    bash setup.sh
    

    指令碼大約需要執行一分鐘。 在部署期間,執行我們的應用程式所需的所有相依性都會自動安裝於遠端 App Service 上。 輸出會列出所有作業。 當該指令碼執行完成時,最後兩行是您將用來測試應用程式部署的 URL。

  6. 若要測試應用程式是否已正確部署,請從 Cloud Shell 複製第一個 URL (Swagger URL),然後將其貼到瀏覽器的新索引標籤中。

    瀏覽器應該會顯示應用程式的 Swagger UI,並宣告下列 RESTful 端點:

    • api/inventory 會產生產品及庫存量的清單。
    • api/inventory/{productid} 會傳回指定產品識別碼的庫存量 (整數)。
    • api/Products 會產生產品清單。
    • api/Products/{productid} 會傳回指定產品識別碼的詳細資料。

    API 管理概觀。

  7. 最後,從 Cloud Shell 輸出複製第二個 URL (Swagger JSON URL),並儲存在記事本之類的地方。 您在下一個練習中需要此 URL。

部署 API 閘道

此練習中的最後一個工作是在 Azure 入口網站中建立 API 閘道。 在下一個練習中,您會使用此閘道來發佈您的 API。

  1. 登入 Azure 入口網站

  2. 在 [Azure 服務] 中,或從 [首頁] 上,選取 [建立資源]。 [建立資源] 窗格隨即會顯示。

  3. 在資源功能表中,選取 [整合],然後在結果中選取 [API 管理]。 [建立 APIM 服務] 窗格隨即出現。

  4. 在 [基本資料] 索引標籤中,為每個設定輸入下列值。

    設定
    專案詳細資料
    訂用帳戶 選取您的訂用帳戶。
    資源群組 選取新的或現有的資源群組。 資源群組是保留 Azure 解決方案相關資源的邏輯容器。
    [執行個體詳細資料]
    區域 選取可用的區域。
    資源名稱 apim-NorthWindShoes<random number>,以您自己的一系列數字取代 random number,以確保名稱是全域唯一的。
    組織名稱 NorthWindShoes. 用於開發人員入口網站及電子郵件通知的組織名稱。 (開發人員入口網站和通知未在所有服務層級提供。)
    管理員電子郵件 用來接收所有系統通知的電子郵件地址。
    定價層 Consumption

    注意

    使用量層提供用於測試的快速部署,並具有使用付費價格模式。 整體 API 管理體驗非常類似於其他價格層。

  5. 選取 [檢閱 + 建立] 以驗證您的設定。

  6. 通過驗證之後,選取 [建立]。 部署可能需要幾分鐘的時間才能完成。

  7. 部署完成後,您的 APIM 執行個體會在 Azure 資源中列出。 選取 [移至資源] 以檢視您 API 管理服務的窗格。