你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
Azure Functions 概述
Azure Functions 是一种无服务器解决方案,可以使用户减少代码编写、减少需要维护的基础结构并节省成本。 无需担心部署和维护服务器,云基础结构提供保持应用程序运行所需的所有最新资源。
你可以专注于使用你认为最高效的语言编写最重要的代码,而 Azure Functions 处理其余代码。
为了获得最佳的 Functions 文档体验,请从文章顶部的本机 Functions 语言列表中选择首选的开发语言。
方案
Functions 提供一组全面的事件驱动型触发器和绑定,用于将函数连接到其他服务,无需编写额外代码。
以下是一组常见但并非详尽的具有 Functions 的集成方案集。
若希望... | 然后... |
---|---|
处理文件上传 | 在 blob 存储中上传或更改文件时运行代码。 |
实时处理数据 | 在存储途中捕获和转换来自事件和 IoT 源流的数据。 |
基于数据模型进行推断 | 从队列中提取文本并将其呈现给各种 AI 服务以进行分析和分类。 |
运行计划任务 | 按预定义的时间间隔执行数据清理代码。 |
生成可缩放的 Web API | 使用 HTTP 触发器为 Web 应用程序实现一组 REST 终结点。 |
构建无服务器工作流 | 使用 Durable Functions 从一系列函数中创建事件驱动的工作流。 |
响应数据库更改 | 在 Azure Cosmos DB 中创建或更新文档时,运行自定义逻辑。 |
创建可靠的消息系统 | 使用队列存储、服务总线或事件中心来处理消息队列。 |
这些方案允许你使用现代化体系结构模式生成事件驱动的系统。 有关详细信息,请参阅Azure Functions 方案。
开发生命周期
使用 Functions 时,可以使用最喜欢的开发工具以首选语言编写函数代码,然后将代码部署到 Azure 云。 Functions 为以C#、Java、JavaScript、PowerShell、Python进行开发提供原生支持,并且能够使用更多语言(例如 Rust 和 Go)。
Functions 直接与 Visual Studio、Visual Studio Code、Maven 和其他热门开发工具集成,从而实现无缝调试和部署。
Functions 还与 Azure Monitor 和 Azure 应用程序 Insights 集成,从而在云中提供全面的运行时遥测和函数分析。
托管选项
Functions 提供多种托管选项,从而满足业务需求和应用程序工作负载。 事件驱动的缩放托管选项范围从完全无服务器(只需为执行时间付费(消耗计划))到始终为最快响应时间做好准备的热实例(高级计划)。
如果 App 应用服务托管资源过多,可以使用现有的 App 应用服务计划托管函数。 如果需要函数的可预测缩放行为和成本,这种专用托管计划也是不错的选择。
如果要完全控制函数运行时环境和依赖项,甚至可以在可完全自定义的容器中部署函数。 自定义容器可由 Functions 托管,部署为 Azure 容器应用中微服务体系结构的一部分,甚至可以在 Kubernetes 中自承载。