练习 - 将函数部署到 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. 找到以下项目 ID:

      <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 以在 Web 浏览器中测试自己的函数。 但是,通过使用 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,要在 Web 浏览器中测试函数,只需将查询字符串追加到 URL 的末尾,正如你在上一练习中所操作的那样。

  1. 构造函数的 API 的 URL:

    1. 检索在本练习前面的“通过门户检索 Azure 函数 URL”部分中复制的 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. 在 Web 浏览器中打开一个新的选项卡,并将上述步骤中构造完整的 URL 粘贴到地址栏中。

  3. 在指示 Web 浏览器请求该 URL 时,你根据查询字符串中传递的名称,看到一个个性化的纯文本消息返回到 Web 浏览器中。 例如:

    Hello, Bob
    

恭喜!你已在 Azure 中成功部署并测试了函数!