在本地运行和测试 Azure 函数

已完成

在上一个练习中,你已使用 Azure Maven 原型创建了一个 Azure 函数项目。 接下来的任务是生成函数并在本地运行它,以验证它是否正常工作。

本单元介绍 Azure Functions Core Tools,该工具能帮助你在本地运行和测试函数。 还介绍如何打开用于测试的 HTTP 端口、如何在 Cloud Shell 中运行函数以及如何在 Web 浏览器中测试函数。

关于 Azure Functions Core Tools

Azure Functions Core Tools 是一套实用程序,用于使用终端模拟器或命令提示符在本地生成和测试 Azure 函数。 尽管创建的 Azure 函数在本地运行,但在测试过程中,它们可以访问实时 Azure 服务。 完成测试并准备好发布函数时,可将函数应用程序部署到 Azure 订阅。

目前有三个版本的 Azure Functions Core Tools。 不过一般来讲,除非存在使用早期版本的特定需求,否则,在开发用于部署到 Azure 的函数时,应始终使用最新版本。 在此模块中,你将使用 Learn 沙盒中的 Azure Cloud Shell,其中包含最新版本的 Azure Functions Core Tools。

注意

如果使用的是个人 Azure 帐户而不是 Learn 沙盒中的 Cloud Shell,则需要查阅使用 Azure Functions Core Tools以获取 Azure Functions Core Tools 不同版本的描述、要求和安装说明。

配置用于测试的 Cloud Shell 环境

在测试 Cloud Shell 中运行的基于 Web 的应用程序时,可以通过两种不同的方式来测试应用程序:

  1. 可以使用 Cloud Shell 来打开用于测试的外部端口,这会将 HTTP 请求路由到 Cloud Shell 实例的 localhost 端口:

    • 若要从 Cloud Shell 打开端口 7071,请使用以下 cURL 命令:

      curl -X POST http://localhost:8888/openPort/7071
      
    • 完成测试后,使用以下 cURL 命令关闭该端口:

      curl -X POST http://localhost:8888/closePort/7071
      
  2. 可以打开 Cloud Shell 的多个实例,以在本地测试应用程序:

    • 可以在第一个实例中运行该应用程序。

    • 可以使用 cURL 在二个实例中测试应用程序。

在下一个练习中,你将使用第一种方法打开端口。

在 Cloud Shell 中运行函数

打开用于测试的端口之后,下一个任务就是生成并执行函数。 为此,请按照以下步骤操作:

  1. 在 Cloud Shell 中,将目录更改为项目的根文件夹。

  2. 若要生成应用程序,请使用以下 Maven 命令:

    mvn clean package
    
  3. 若要运行应用程序,请使用以下 Maven 命令:

    mvn azure-functions:run
    

    当 Maven 准备函数的运行时环境时,将显示 Azure Functions Core Tools 徽标:

    Image showing the Azure Function Core tools logo.

  4. 完成测试后,使用 Azure Cloud Shell 中的 CTRL + C 命令来停止服务器。

使用 HTTP 请求测试函数

此模块将使用 Cloud Shell 的单个实例。 因此,需要通过在 Web 浏览器中打开新的标签页来测试应用程序。 在浏览器的地址栏中,输入类似于以下示例的 URL:

https://gateway.westus.console.azure.com/n/cc-12345678/cc-12345678/proxy/7071/api/HttpExample?name=Bob

不过,如果使用 Cloud Shell 的多个实例,可以使用以下 cURL 命令从 Shell 的单独实例测试应用程序:

curl http://localhost:7071/api/HttpExample?name=Bob

在下一个练习中,你将使用在本单元中学到的内容。 打开测试端口,在 Cloud Shell 中运行函数并确定将用于从 Web 浏览器测试函数的 URL。