练习 - 将函数部署到 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
找到以下项目 ID:
<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 以在 Web 浏览器中测试自己的函数。 但是,通过使用 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,要在 Web 浏览器中测试函数,只需将查询字符串追加到 URL 的末尾,正如你在上一练习中所操作的那样。
构造函数的 API 的 URL:
检索在本练习前面的“通过门户检索 Azure 函数 URL”部分中复制的 URL,例如:
https://event-reporting-20240125192009873.azurewebsites.net/api/HttpExample
追加一个将名称传递到 API URL 的查询字符串,例如:
https://event-reporting-20240125192009873.azurewebsites.net/api/HttpExample?name=Bob
复制这个构造完整的 URL,供以下步骤使用。
在 Web 浏览器中打开一个新的选项卡,并将上述步骤中构造完整的 URL 粘贴到地址栏中。
在指示 Web 浏览器请求该 URL 时,你根据查询字符串中传递的名称,看到一个个性化的纯文本消息返回到 Web 浏览器中。 例如:
Hello, Bob
恭喜!你已在 Azure 中成功部署并测试了函数!