练习:使用 Visual Studio Code 创建 Azure 函数

已完成

在本练习中,你可学习如何创建一个 C# 函数,以响应 HTTP 请求。 在 Visual Studio Code 中创建并本地测试代码后,将其部署到 Azure。

先决条件

在开始之前,请确保满足以下要求:

创建本地项目

在本部分,你将使用 Visual Studio Code 在 C# 中创建一个本地 Azure Functions 项目。 在此练习的后面,会将函数代码发布到 Azure。

  1. 在活动栏中选择“Azure”图标,然后在“工作区”区域中,选择“添加…”。最后,选择“创建函数…”。

    Choosing to create a new project.

    注意

    如果选择“创建新项目”,则可能会出现一条弹出消息,提示你创建新项目。

  2. 为项目工作区选择目录位置,然后选择“选择” 。

    注意

    请确保选择现有工作区以外的项目文件夹。

  3. 根据提示提供以下信息:

    • 选择语言:选择 C#
    • 选择 .NET 运行时:选择 .NET 6
    • 为项目的第一个函数选择模板:选择HTTP trigger
    • 提供函数名称:键入 HttpExample
    • 提供命名空间:键入 My.Function
    • 授权级别:选择 Anonymous,这使任何人都可以调用你的函数终结点。
    • 选择打开项目的方式:选择Add to workspace

Visual Studio Code 将使用此信息生成一个包含 HTTP 触发器的 Azure Functions 项目。

在本地运行函数

Visual Studio Code 与 Azure Functions Core Tools 相集成,便于你在发布到 Azure 之前在本地开发计算机上运行此项目。

  1. 请确保在 Visual Studio Code 中打开终端。 可以通过选择“终端”,然后在菜单栏中选择“新建终端”来打开终端。

  2. 按 F5 在调试程序中启动函数应用项目。 来自 Core Tools 的输出会显示在“终端” 面板中。 应用将在“终端”面板中启动。 可以看到 HTTP 触发函数的 URL 终结点在本地运行。

    The endpoint of your HTTP-triggered function is displayed in the **Terminal** panel.

  3. 运行 Core Tools 后,转到“Azure:Functions”区域。 在“Functions”下,展开“本地项目”>“Functions” 。 右键单击 HttpExample 函数,然后选择“立即执行函数...”。

    Steps for running the function locally as described in the text.

  4. 在“输入请求正文”中键入请求消息正文值 { "name": "Azure" }。 按 Enter 将此请求消息发送给函数。 当函数在本地执行并返回响应时,Visual Studio Code 中将引发通知。 函数执行的相关信息将显示在“终端”面板中。

  5. 按 Shift + F5 停止 Core Tools 并断开调试程序。

确认该函数可以在本地计算机上正确运行以后,可以使用 Visual Studio Code 将项目直接发布到 Azure。

登录 Azure

在发布应用之前,必须先登录到 Azure。 如果已登录,请转到下一部分。

  1. 如果尚未登录,请选择活动栏中的“Azure”图标,然后在“Azure:功能”区域中,选择“登录到 Azure...”。

    Sign in to Azure within VS Code

  2. 在浏览器中出现提示时,请选择你的 Azure 帐户,并使用你的 Azure 帐户凭据登录。

  3. 成功登录后,可以关闭新浏览器窗口。 属于你的 Azure 帐户的订阅显示在边栏中。

在 Azure 中创建资源

在本部分中,将创建部署本地函数应用所需的 Azure 资源。

  1. 在活动栏中选择“Azure”图标,然后在“资源”区域中选择“创建资源…”按钮。

    Location of the Deploy to Function app button.

  2. 根据提示提供以下信息:

    • 选择“在 Azure 中创建函数应用…”
    • 输入函数应用的全局唯一名称:键入在 URL 路径中有效的名称。 将对你键入的名称进行验证,以确保其在 Azure Functions 中是唯一的。
    • “选择运行时堆栈”:使用在上面的“创建本地项目”部分中所做的相同选择。
    • 选择新资源的位置:为了获得更好的性能,请选择你附近的区域。
    • 选择订阅:选择要使用的订阅。 如果只有一个订阅,则不会看到此项。

    在 Azure 中创建各项资源时,扩展在终端窗口的“AZURE: ACTIVITY LOG”区域中显示这些资源的状态。

  3. 完成后,将使用基于函数应用名称的名称在订阅中创建以下 Azure 资源:

    • 一个资源组:相关资源的逻辑容器。
    • 一个标准 Azure 存储帐户:用于维护项目的状态和其他信息。
    • 一个消耗计划:用于定义无服务器函数应用的基础主机。
    • 一个函数应用:提供用于执行函数代码的环境。 可以通过函数应用将函数分组为逻辑单元,以便在同一托管计划中更轻松地管理、部署和共享资源。
    • 一个连接到函数应用的 Application Insights 实例:用于跟踪无服务器函数的使用情况。

部署代码

  1. 在 Azure 栏的“工作区”部分中,选择“部署…”按钮,然后选择“部署到函数应用…”。

    Image showing location of the **Deploy...** button.

  2. 当系统提示“选择资源”时,请选择在上一部分中创建的函数应用。

  3. 在确认提示上选择“部署”,确认你要部署函数。

    重要

    发布到现有函数时,会覆盖以前的部署。

在 Azure 中运行函数

  1. 返回侧边栏中的“资源”区域,展开订阅、新函数应用和“函数”。 右键单击 HttpExample 函数,然后选择“立即执行函数...”。

    Execute function now in Azure from Visual Studio Code

  2. 在“输入请求正文”中,你将看到请求消息正文值 。 按 Enter 将此请求消息发送给函数。

  3. 当函数在 Azure 中执行并返回响应时,Visual Studio Code 中将引发通知。

    Executed function notification