在Azure Functions中,所有函数都共享一些核心技术概念和组件,而不考虑首选语言或开发环境。 本文涉及语言特性。 在文章顶部选择首选的语言。
本文假设你已经阅读过Azure Functions的概述。
如果想要直接进入,可以使用 Visual Studio、Visual Studio Code 或 command prompt 完成快速入门教程。
如果希望直接进入,可以使用
如果想要直接进入,可以使用 Visual Studio Code 或 命令提示完成快速入门教程。
如果想要直接进入,可以使用 Visual Studio Code 或 命令提示完成快速入门教程。
如果想要直接进入,可以使用 Visual Studio Code 或 命令提示完成快速入门教程。
如果想要直接进入,可以使用 Visual Studio Code 或 命令提示完成快速入门教程。
代码项目
Azure Functions的核心是一个特定于语言的代码项目,它实现一个或多个称为 函数的代码执行单元。 函数只是基于事件、响应 HTTP 请求或按计划在 Azure 云中运行的方法。 将Azure Functions代码项目视为组织、部署和统一管理项目中各个函数的机制,以便在Azure中运行。 有关详细信息,请参阅组织函数。
设置代码项目布局的方式以及如何指示项目中哪些方法是函数取决于项目的开发语言。 有关特定于语言的详细指南,请参阅 C# 开发人员指南。
设置代码项目布局的方式以及如何指示项目中哪些方法是函数取决于项目的开发语言。 有关特定于语言的指导,请参阅 Java 开发人员指南。
设置代码项目布局的方式以及如何指示项目中哪些方法是函数取决于项目的开发语言。 有关特定于语言的指南,请参阅 Node.js 开发人员指南。
设置代码项目布局的方式以及如何指示项目中哪些方法是函数取决于项目的开发语言。 有关特定于语言的指南,请参阅 PowerShell 开发人员指南。
设置代码项目布局的方式以及如何指示项目中哪些方法是函数取决于项目的开发语言。 有关特定于语言的指导,请参阅 Python 开发人员指南。
所有函数都必须有一个触发器,它定义函数如何启动,并且可以为函数提供输入。 函数可以选择性地定义输入和输出绑定。 这些绑定简化了与其他服务的连接,你无需使用客户端 SDK。 有关详细信息,请参阅 Azure Functions 触发器和绑定概念。
Azure Functions提供了一组特定于语言的项目和函数模板,方便创建新代码项目并将函数添加到项目中。 可以使用支持Azure Functions开发的任何工具使用这些模板生成新的应用和函数。
开发工具
以下工具为Azure Functions提供本地和集成的开发与发布体验,支持您偏好的语言:
这些工具与 Azure Functions Core Tools 集成,以便可以使用 Functions 运行时在本地计算机上运行和调试。 有关详细信息,请参阅 Code 和在本地测试Azure Functions。
Azure门户里还有一个编辑器,你可以直接在门户里更新代码和 function.json 定义文件。 仅用于小幅修改或创建概念验证函数。 尽量在本地开发你的职能。 有关详细信息,请参阅 在 Azure 门户中创建第一个函数。
仅 Node.js 版本 3 支持门户编辑,该版本使用 function.json 文件。
部署
将代码项目发布到Azure时,实质上是将项目部署到现有的函数应用资源。 函数应用在运行函数Azure提供执行上下文。 因此,它就是用于函数的部署和管理的单元。 从Azure资源的角度来看,函数应用等效于Azure 应用服务中的站点资源(Microsoft.Web/sites),相当于 Web 应用。
函数应用由一个或多个独立的功能组成,你可以共同管理、部署和扩展。 函数应用中的所有函数共享相同的定价计划、部署方法和运行时版本。 有关详细信息,请参阅如何管理函数应用。
当函数应用和其他必需资源在 Azure 中尚未存在时,你需要先创建这些资源,才能部署项目文件。 可以通过以下方式之一创建这些资源:
- 在 Visual Studio 发布期间
以编程方式使用 Azure CLI、Azure PowerShell、ARM 模板或Bicep文件
除了基于工具的发布之外,Functions 还支持将源代码部署到现有函数应用的其他技术。 有关详细信息,请参阅 Azure Functions0>部署技术。
连接到服务
任何基于云的计算服务的一个主要要求都是从其他云服务读取数据或将数据写入其他云服务。 Functions 提供了一组广泛的绑定,使你能够更轻松地连接到服务,而无需使用客户端 SDK。
无论你使用Functions提供的绑定扩展,还是直接使用客户端SDK,你都能安全地存储连接数据,并且不会将其包含在代码中。
默认主机存储
创建函数应用实例时,Azure Functions 需要 Azure 存储帐户。 该 默认存储账户 由 Functions 主机和部分绑定扩展内部使用。
想了解如何安全地定义与默认存储账户的连接,请参见 “定义连接”。
绑定
函数为许多Azure服务和一些作为扩展实现的第三方服务提供绑定。 有关详细信息,请参阅受支持绑定的完整列表。
绑定扩展可以支持输入和输出,并且许多触发器也充当输入绑定。 使用绑定可以配置与服务的连接,以便 Functions 主机可以处理数据访问。 有关详细信息,请参阅 Azure Functions 触发器和绑定概念。
如果遇到来自绑定的错误问题,请参阅 Azure Functions 绑定错误代码 文档。 想了解如何在绑定中安全地定义连接,请参见 “定义连接”。
基于标识的连接的通用属性
Azure Functions 的基于身份的连接使用托管身份进行认证。 默认使用系统分配的身份,但你可以通过 和 credential 属性指定用户分配的身份clientId。 有关配置基于身份的连接的完整细节,包括必要的应用设置和 RBAC 权限,请参见 定义托管身份连接。
使用基于标识的连接进行本地开发
在本地运行时,基于身份的连接使用你的开发者身份(比如你的 Azure CLI 登录)而不是管理身份。 你不需要在本地开发阶段设置 credential 房 clientId 产。 有关详细信息,请参阅 使用基于标识的连接进行本地开发。
客户端 SDK
虽然 Functions 提供了绑定以简化函数代码中的数据访问,但你也可以在项目中使用客户端 SDK 直接访问特定服务。 如果你的功能需要绑定扩展不支持的底层SDK功能,可能需要直接使用客户端SDK。 你的函数代码无法访问绑定扩展所用的底层客户端。 你必须独立创建和管理你需要在函数中使用的任何客户端实例。
在创建和使用函数代码中的客户端SDK时,请考虑以下问题:
存储和访问连接字符串的过程与绑定扩展相同。 欲了解更多信息,请参见 “定义连接”。
当你用 Sum套餐托管应用时,所有实例的出站连接总数都有限制。 这个限制意味着你必须小心避免 端口耗尽。 欲了解更多信息,请参阅 管理SDK客户端连接。
- 当你在函数中创建客户端SDK实例时,从 环境变量获取客户端所需的连接信息。
- 当你在函数中创建客户端SDK实例时,从 环境变量获取客户端所需的连接信息。
- 当你在函数中创建客户端SDK实例时,从 环境变量获取客户端所需的连接信息。
- 当你在函数中创建客户端SDK实例时,从 环境变量获取客户端所需的连接信息。
- 当你在函数中创建客户端SDK实例时,从 环境变量获取客户端所需的连接信息。
报告问题
| 条目 | 说明 | 链接 |
|---|---|---|
| 运行时 | 脚本主机、触发器和绑定及语言支持 | 问题 |
| 模板 | 创建模板的代码问题 | 问题 |
开源存储库
Azure Functions 的代码是 开放源代码。 你可以在这些 GitHub 仓库中找到关键组件:
相关文章
有关详细信息,请参阅以下资源:
- Azure Functions方案
- 管理Azure Functions中的连接
- 在本地测试和测试Azure Functions
Azure Functions