你当前正在访问 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 中自承载。

后续步骤