練習 - 將函式部署至 Azure
既然您已了解如何建立函式並將其部署至 Azure,現在就是將理論付諸實踐的時候了。
在本練習中,您會了解如何設定函式以部署至 Azure Functions。 然後您會使用 Maven 來部署函式,然後在雲端中測試函式。
設定函式專案以進行部署
您必須先對函數應用程式進行一些變更,才能將其部署至 Azure。 下列步驟會逐步引導您更新專案以進行部署。
判斷沙箱資源群組區域:
在啟用沙箱來擷取資源群組所在的區域時,請使用為您自動建立的資源群組名稱:
az group show --name "<rgn>[sandbox resource group name]</rgn>" | jq -r '.location'
複製顯示的區域名稱,以在下列步驟中使用。
編輯 pom.xml 檔案以更新設定:
在 Azure Cloud Shell 中切換至應用程式的根資料夾。 例如:
cd ~/event-reporting
在 Cloud Shell 程式碼編輯器中開啟 pom.xml。
code pom.xml
找出下列成品識別碼:
<artifactId>azure-functions-maven-plugin</artifactId>
在下列
<configuration>
區段中找出<resourceGroup>
項目,並以資源群組名稱更新。 例如:<resourceGroup><rgn>[sandbox resource group name]</rgn></resourceGroup>
找出
<region>
的項目,並以資源群組所在區域名稱更新。 例如:<region>westus</region>
按 Ctrl+S 以儲存 pom.xml 檔案,然後按 Ctrl+Q 以關閉程式碼編輯器。
部署 Azure 函式
現在已設定好要部署的函式,下一步就是將函式部署至 Azure Functions。
在 Azure Cloud Shell 中切換至應用程式的根資料夾。 例如:
cd ~/event-reporting
使用下列命令,將其建置並部署到 Azure Functions:
mvn clean package azure-functions:deploy
Maven 會顯示部署的執行狀態。 例如:
[INFO] Scanning for projects... [INFO] [INFO] ------------------------------------------------------------------------ [INFO] Building Azure Java Functions 1.0-SNAPSHOT [INFO] ------------------------------------------------------------------------ [INFO] [INFO] --- azure-functions-maven-plugin:1.4.1:deploy (default-cli) @ event-reporting --- [INFO] Auth Type : AZURE_CLI [INFO] Subscription : Concierge Subscription(12345678-1234-1234-1234-123456789abc) [INFO] The specified function app does not exist. Creating a new function app... [INFO] Set function worker runtime to java. [INFO] Successfully created the function app: event-reporting-20240125192009873. [INFO] Trying to deploy the function app... [INFO] Trying to deploy artifact to event-reporting-20240125192009873... [INFO] Successfully deployed the artifact to https://event-reporting-20240125192009873.azurewebsites.net [INFO] Deployment done, you may access your resource through event-reporting-20240125192009873.azurewebsites.net [INFO] Syncing triggers and fetching function information [INFO] Querying triggers... [INFO] HTTP Trigger Urls: [INFO] HttpExample : https://event-reporting-20240125192009873.azurewebsites.net/api/httpexample [INFO] ------------------------------------------------------------------------ [INFO] BUILD SUCCESS [INFO] ------------------------------------------------------------------------ [INFO] Total time: 01:01 min [INFO] Finished at: 2024-01-25T20:12:04Z [INFO] ------------------------------------------------------------------------
使用入口網站擷取 Azure 函式 URL
回想一下您在上一個單元中完成的練習,在該練習中您必須在網頁瀏覽器中建立 URL 來測試函式。 不過,有一個使用 Azure 入口網站來擷取 Azure 函式 URL 的更簡單方法。 若要這樣做,請使用下列步驟。
使用啟用沙箱時所用的相同帳戶來登入 Azure 入口網站。
從左側功能表選取 [所有資源]。
從資源清單選取函數應用程式;在本練習中,函數應用程式的名稱會以 event-reporting 開頭。 例如:
event-reporting-20240125192009873
此
function app
名稱與本練習先前部署回應中所報告的名稱相同。在函數應用程式的 [概觀] 頁面上,於 [函式] 索引標籤中 ,選取 [HttpExample] 函式。 這會顯示函式的 [概觀] 頁面。
在函式頁面的頂端,選取 [取得函式 URL]。 複製函式的完整建構化 URL。 例如:
https://event-reporting-20240125192009873.azurewebsites.net/api/HttpExample
您會在本練習的下一節中使用此 URL。
在入口網站中測試 Azure 函式
現在已將函式部署至 Azure,那麼在網頁瀏覽器中測試函式所需進行的,就是將查詢字串附加至 URL 結尾,如同在先前練習中所做的一樣。
為函式的 API 建立 URL:
擷取先前在本練習使用入口網站來擷取 Azure 函式一節中所複製的 URL,例如:
https://event-reporting-20240125192009873.azurewebsites.net/api/HttpExample
附加可將名稱傳遞至 API URL 的查詢字串,例如:
https://event-reporting-20240125192009873.azurewebsites.net/api/HttpExample?name=Bob
複製此完整建構的 URL 以供下列步驟使用。
在網頁瀏覽器中開啟新的索引標籤,並將先前步驟中的完整建構 URL 貼入位址欄位。
當指示網頁瀏覽器要求 URL 時,您會看到傳回網頁瀏覽器的純文字訊息,此訊息會針對您在查詢字串中傳遞的名稱進行個人化。 例如:
Hello, Bob
恭喜,您已成功在 Azure 中部署並測試了函式!