###### tags: `Workshop` `App Service` `API Management` # Hands-on: Manage self hosted API through APIM ## #1 建立 RESTful API 並部屬至 Azure 環境 **以下步驟參考此份教學文章並使用範例程式碼 [教學課程:裝載具有 CORS 的 RESTful API - Azure App Service | Microsoft Docs](https://docs.microsoft.com/zh-tw/azure/app-service/app-service-web-tutorial-rest-api)** - 下載範例程式(ASP.NET Core) ``` git clone https://github.com/Azure-Samples/dotnet-core-api ``` - 測試API執行於local ``` cd dotnet-core-api dotnet restore dotnet run ``` * 至瀏覽器輸入 http://localhost:5000/api/Todo 會回傳 TODO 的紀錄 ``` [{"id":1,"name":"Item1","isComplete":false}] ``` * 或是使用以下指令 ``` curl http://localhost:5000/api/Todo ``` * 查看所有的API http://localhost:5000/swagger  - 設定部屬資訊 - username 在 Azure 服務及 local Git push 中都必須是唯一的,且不能包含 ‘@’ 符號 - 密碼長度必須至少為 8 個字元,包含下列三個元素其中兩個:字母、數字及符號 ``` az webapp deployment user set --user-name <username> --password <password> ``` - JSON 輸出會將密碼顯示為 `null` - 若顯示 `'Conflict'. Details: 409`,請變更使用者名稱 - 若顯示 `'Bad Request'. Details: 400`,請使用更強的密碼 - 建立資源群組 ``` az group create --name <resource-group-name> --location "Southeast Asia" ``` - 建立應用程式服務方案 ``` az appservice plan create --name <app-service-plan-name> --resource-group <resource-group-name> --sku FREE ``` - 建立 Web 應用程式 ``` az webapp create --resource-group <resource-group-name> --plan <app-service-plan-name> --name <app-service-name> --deployment-local-git ``` * 建立完成後會顯示以下資訊,並記錄下來 >Local git is configured with url of 'https://<username>@<app-service-name>.scm.azurewebsites.net/<app-service-name>.git' - 將 local 的 API 部屬至 Azure 環境中 ``` git remote add azure https://<username>@<app-service-name>.scm.azurewebsites.net/<app-service-name>.git - 如無法成功部屬請參考:https://docs.microsoft.com/zh-tw/azure/app-service/deploy-local-git#configure-a-deployment-user - 確認是否添加 ``` git remote -v ``` - 部屬 ``` git push azure master ``` ## #2 建立 API Management **以下步驟參考此份教學文章[使用 Azure 入口網站匯入 API 應用程式作為 API | Microsoft Docs](https://docs.microsoft.com/zh-tw/azure/api-management/import-api-app-as-api)** - 在 [Azure Portal](https://portal.azure.com/#home) 上建立 API Management - 選擇剛剛建立的 API Management,API > Blank API,並填入已建立好的 API url   - 設定相關參數,選擇上步驟的API > Add operation,在 Web service URL 填入 `/Todo`  - 另外建立一個 POST 用來新增 Todo list 的資料  - 取得 API Subscription Key  - 可以使用 Test 進行測試或透過 Postman 測試 - 將現有的API加入到產品中:[教學課程:建立和發行產品](https://docs.microsoft.com/zh-tw/azure/api-management/api-management-howto-add-products) ## #3 其他補充資料 - 如果想要透過 ASP.NET Core自建API [教學課程:使用 ASP.NET Core 建立 web API | Microsoft Docs](https://docs.microsoft.com/zh-tw/aspnet/core/tutorials/first-web-api?view=aspnetcore-5.0&tabs=visual-studio-code) - 更多練習Lab [Deploy a website to Azure with Azure App Service](https://docs.microsoft.com/en-us/learn/paths/deploy-a-website-with-azure-app-service/)
×
Sign in
Email
Password
Forgot password
or
By clicking below, you agree to our
terms of service
.
Sign in via Facebook
Sign in via Twitter
Sign in via GitHub
Sign in via Dropbox
Sign in with Wallet
Wallet (
)
Connect another wallet
New to HackMD?
Sign up