你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

在 Azure 门户中创建第一个函数

Azure Functions 用于在无服务器环境中运行代码,无需先创建虚拟机 (VM) 或发布 Web 应用程序。 本文介绍如何使用 Azure Functions 在 Azure 门户中创建 HTTP 触发器函数“hello world”。

在文章顶部选择首选的编程语言。

注意

目前,仅 C# 脚本 (.csx) 函数支持在 Azure 门户中编辑 C# 函数代码。 若要详细了解在 Azure 门户中编辑函数代码的限制,请参阅 Azure 门户中的开发限制

应改为在本地开发函数,然后发布到 Azure 中的函数应用。 通过以下链接之一开始使用所选的本地开发环境:

注意

目前不支持在 Azure 门户中编辑 Java 函数代码。 有关详细信息,请参阅 Azure 门户中的开发限制

应改为在本地开发函数,然后发布到 Azure 中的函数应用。 通过以下链接之一开始使用所选的本地开发环境:

注意

由于 Azure 门户中的开发限制,因此应改为在本地开发函数,然后发布到 Azure 中的函数应用。 通过以下链接之一开始使用所选的本地开发环境:

注意

目前不支持在 Azure 门户中编辑 TypeScript 函数代码。 有关详细信息,请参阅 Azure 门户中的开发限制

应改为在本地开发函数,然后发布到 Azure 中的函数应用。 通过以下链接之一开始使用所选的本地开发环境:

注意

由于 Azure 门户中的开发限制,因此应改为在本地开发函数,然后发布到 Azure 中的函数应用。 通过以下链接之一开始使用所选的本地开发环境:

注意

目前仅在消耗计划中运行时才支持在 Azure 门户中开发 Python 函数。 有关详细信息,请参阅 Azure 门户中的开发限制

应改为在本地开发函数,然后发布到 Azure 中的函数应用。 通过以下链接之一开始使用所选的本地开发环境:

请查看在 Azure 门户中使用 Python 开发 Azure Functions 的已知问题

先决条件

如果没有 Azure 订阅,请在开始之前创建一个 Azure 免费帐户

登录 Azure

使用 Azure 帐户登录到 Azure 门户

创建函数应用

必须使用 Function App 托管函数的执行。 函数应用可将函数分组为逻辑单元,以便更轻松地管理、部署、缩放和共享资源。

使用以下步骤创建函数应用和相关 Azure 资源,无论是否能够在 Azure 门户中编辑代码。

为了能够创建可在门户中编辑的 C# 脚本应用,必须为 .NET 版本选择 6 (LTS)

  1. 在 Azure 门户菜单上或在门户主页中,选择“创建资源”。

  2. “新建” 页面,选择 “计算”>“函数应用”

  3. 在“基本信息”页面上,按照下列所述使用函数应用设置:

    设置 建议值 描述
    订阅 你的订阅 将在其中创建新函数应用的订阅。
    资源组 myResourceGroup 将在其中创建函数应用的新资源组的名称。 你需要创建新的资源组,因为在现有资源组中创建新函数应用时存在已知限制
    函数应用名称 全局唯一名称 用于标识新 Function App 的名称。 有效字符为 a-z(不区分大小写)、0-9-
    是否要部署代码或容器映像? 代码 用于发布代码文件或 Docker 容器的选项。
    运行时堆栈 首选语言 选择支持你喜欢的函数编程语言的运行时。 门户中编辑仅适用于 JavaScript、PowerShell、Python、TypeScript 和 C# 脚本。 C# 类库和 Java 函数必须在本地开发
    Version 版本号 选择已安装的运行时的版本。
    区域 首选区域 选择与你靠近或者与函数可以访问的其他服务靠近的区域
    操作系统 Windows 系统会根据你的运行时堆栈选择为你预先选择一个操作系统,但你可以根据需要更改该设置。 仅在 Windows 上支持门户内编辑。 仅支持在 Linux 上发布容器。
    托管选项和计划 消耗(无服务器) 定义如何将资源分配给 Function App 的托管计划。 在默认的消耗计划中,根据函数需求动态添加资源。 在此无服务器托管中,只需为函数运行时间付费。 高级计划还提供动态缩放。 按应用服务计划运行时,必须管理函数应用的缩放
  4. 接受默认选项,即在“存储”选项卡上创建新存储帐户,在“监视”选项卡上创建新的 Application Insights 实例。还可以选择使用现有的存储帐户或 Application Insights 实例。

  5. 选择“查看 + 创建”以审阅所选的应用配置,然后选择“创建”来预配和部署函数应用。

  6. 选择门户右上角的“通知”图标,留意是否显示了“部署成功”消息。

  7. 选择“转到资源”,查看新的函数应用。 还可选择“固定到仪表板”。 固定可以更轻松地从仪表板返回此函数应用资源。

    Screenshot of deployment notification.

接下来,在新的函数应用中创建一个函数。

创建 HTTP 触发器函数

  1. 在函数应用中,选择“概述”,然后在“函数”下选择“+ 创建”。 如果未看到“+ 创建”按钮,可以改为在本地创建函数

  2. 在“选择模板”下,向下滚动并选择“HTTP 触发器”模板

  3. 在“模板详细信息”中,为“新建函数”使用 HttpExample,从授权级别下拉列表中选择“匿名”,然后选择“创建”

    Azure 会创建该 HTTP 触发器函数。 现在,可以通过发送 HTTP 请求来运行新函数了。

在本地创建函数

如果无法在门户中创建函数代码,可以改为创建本地项目,然后将函数代码发布到新的函数应用。

  1. 在函数应用中,选择“概述”,然后选择“函数”下的“在首选环境中创建函数”

  2. 选择首选的本地开发环境,并按照链接文章中的步骤创建并发布第一个 Azure Functions 项目。

    提示

    发布新项目时,请确保使用刚创建的函数应用和相关资源。

测试函数

提示

即使对于无法在门户中编辑的只读函数,门户中的“代码 + 测试”功能也有效。

  1. 在门户中,在新的函数应用中找到 HTTP 触发器函数,从左侧菜单中选择“代码 + 测试”,然后从顶部菜单中选择“获取函数 URL”

    Screenshot of Get function URL window.

  2. 在“获取函数 URL”对话框的下拉列表中选择“默认值”,然后选择“复制到剪贴板”图标。

    Screenshot of Copy the function URL window from the Azure portal.

  3. 将函数 URL 粘贴到浏览器的地址栏中。 将查询字符串值 ?name=<your_name> 添加到该 URL 尾部,然后按 Enter 来运行请求。 浏览器必须显示回显查询字符串值的响应消息。

    如果请求 URL 包含访问密钥 (?code=...),则意味着在创建函数时选择了“Function”而不是“Anonymous”访问级别。 在这种情况下,必须改为追加 &name=<your_name>

  4. 运行函数时,会在日志中写入跟踪信息。 若要查看跟踪输出,请返回到门户中的“代码 + 测试”页,并展开页面底部的“日志”箭头。 再次调用函数以查看写入日志的跟踪输出。

    Screenshot of Functions log viewer in the Azure portal.

清理资源

本教程系列中的其他快速入门教程是在本文的基础上制作的。 如果打算使用后续的快速入门、教程或者在本快速入门中创建的任何服务,请勿清理这些资源。

Azure 中的资源是指函数应用、函数、存储帐户等。 这些资源可以组合到资源组中,删除该组即可删除组中的所有内容。

你已创建完成这些快速入门所需的资源。 这些资源可能需要付费,具体取决于帐户状态服务定价。 如果不再需要这些资源,请参阅下面介绍的资源删除方法:

  1. 在 Azure 门户中转到“资源组”页。

    若要从函数应用页转到该页,请选择“概览”选项卡,然后选择“资源组”下的链接。

    Screenshot that shows select the resource group to delete from the function app page.

    若要从仪表板转到该页,请选择“资源组”,然后选择用于本文的资源组。

  2. 在“资源组”页中查看所包括的资源的列表,然后验证这些资源是否是要删除的。

  3. 选择“删除资源组”,然后按说明操作。

    删除操作可能需要几分钟。 完成后会显示一个通知,持续数秒。 也可以选择页面顶部的钟形图标来查看通知。

后续步骤

现在,你已创建了第一个函数,让我们向该函数添加输出绑定,以便将消息写入存储队列。