練習 - 將函式部署至 Azure

已完成

既然您已了解如何建立函式並將其部署至 Azure,現在就是將理論付諸實踐的時候了。

在本練習中,您會了解如何設定函式以部署至 Azure Functions。 然後您會使用 Maven 來部署函式,然後在雲端中測試函式。

設定函式專案以進行部署

您必須先對函數應用程式進行一些變更,才能將其部署至 Azure。 下列步驟會逐步引導您更新專案以進行部署。

  1. 判斷沙箱資源群組區域:

    1. 在啟用沙箱來擷取資源群組所在的區域時,請使用為您自動建立的資源群組名稱:

      az group show --name "<rgn>[sandbox resource group name]</rgn>" | jq -r '.location'
      
    2. 複製顯示的區域名稱,以在下列步驟中使用。

  2. 編輯 pom.xml 檔案以更新設定:

    1. 在 Azure Cloud Shell 中切換至應用程式的根資料夾。 例如:

      cd ~/event-reporting
      
    2. 在 Cloud Shell 程式碼編輯器中開啟 pom.xml

      code pom.xml
      
    3. 找出下列成品識別碼:

      <artifactId>azure-functions-maven-plugin</artifactId>
      
    4. 在下列 <configuration> 區段中找出 <resourceGroup> 項目,並以資源群組名稱更新。 例如:

      <resourceGroup><rgn>[sandbox resource group name]</rgn></resourceGroup>
      
    5. 找出 <region> 的項目,並以資源群組所在區域名稱更新。 例如:

      <region>westus</region>
      
    6. Ctrl+S 以儲存 pom.xml 檔案,然後按 Ctrl+Q 以關閉程式碼編輯器。

部署 Azure 函式

現在已設定好要部署的函式,下一步就是將函式部署至 Azure Functions。

  1. 在 Azure Cloud Shell 中切換至應用程式的根資料夾。 例如:

    cd ~/event-reporting
    
  2. 使用下列命令,將其建置並部署到 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 的更簡單方法。 若要這樣做,請使用下列步驟。

  1. 使用啟用沙箱時所用的相同帳戶來登入 Azure 入口網站

  2. 從左側功能表選取 [所有資源]

  3. 從資源清單選取函數應用程式;在本練習中,函數應用程式的名稱會以 event-reporting 開頭。 例如:

    event-reporting-20240125192009873
    

    function app 名稱與本練習先前部署回應中所報告的名稱相同。

  4. 在函數應用程式的 [概觀] 頁面上,於 [函式] 索引標籤中 ,選取 [HttpExample] 函式。 這會顯示函式的 [概觀] 頁面。

  5. 在函式頁面的頂端,選取 [取得函式 URL]。 複製函式的完整建構化 URL。 例如:

    https://event-reporting-20240125192009873.azurewebsites.net/api/HttpExample
    

    您會在本練習的下一節中使用此 URL。

在入口網站中測試 Azure 函式

現在已將函式部署至 Azure,那麼在網頁瀏覽器中測試函式所需進行的,就是將查詢字串附加至 URL 結尾,如同在先前練習中所做的一樣。

  1. 為函式的 API 建立 URL:

    1. 擷取先前在本練習使用入口網站來擷取 Azure 函式一節中所複製的 URL,例如:

      https://event-reporting-20240125192009873.azurewebsites.net/api/HttpExample
      
    2. 附加可將名稱傳遞至 API URL 的查詢字串,例如:

      https://event-reporting-20240125192009873.azurewebsites.net/api/HttpExample?name=Bob
      
    3. 複製此完整建構的 URL 以供下列步驟使用。

  2. 在網頁瀏覽器中開啟新的索引標籤,並將先前步驟中的完整建構 URL 貼入位址欄位。

  3. 當指示網頁瀏覽器要求 URL 時,您會看到傳回網頁瀏覽器的純文字訊息,此訊息會針對您在查詢字串中傳遞的名稱進行個人化。 例如:

    Hello, Bob
    

恭喜,您已成功在 Azure 中部署並測試了函式!