什么是 MS Azure Functions?17 Mar 2025 | 5 分钟阅读 为了编写更少的代码,管理更少的基础设施,并节省成本,我们可以使用 Azure Functions,这是一个无服务器计算平台。云架构提供运行应用程序所需的所有当前资源,而无需担心建立和管理服务器。 Azure Functions 负责处理其他一切,我们只需专注于对我们最重要的代码。 我们经常设计系统来响应一系列关键事件。每个应用程序,无论是创建 Web API、响应数据库更新、处理 IoT 数据流,还是仅仅维护消息队列,都需要一种在事件发生时运行代码的方式。 根据需要,Azure Functions 以两种方式提供“按需计算”。 首先,Azure Functions 使您能够将系统的逻辑转化为易于访问的代码块。这些代码块称为“函数”。当您需要响应关键事件时,可以随时激活各种函数。 其次,随着需求的增长,Azure Functions 会扩展以提供所需的任意数量的资源和函数实例——但仅在需要时。随着需求的减少,任何剩余的资源和应用程序实例都会立即退役。 所有计算资源的来源是什么?Azure Functions 可以根据应用程序的需求提供任意数量的计算资源。 Azure Functions 中的按需计算资源配置定义了无服务器计算。 场景一个函数可以与各种云服务接口,以在各种场景中提供功能丰富的实现。 下面列出的场景是一组常见的 Azure Functions 场景,但并非详尽无遗。
开发函数时,您可以使用以下选项和资源:
Azure Functions 使您能够将系统的逻辑转化为易于访问的代码块。“函数”是这些代码块的名称。 “Durable Functions”是什么意思?Durable Functions 是 Azure Functions 的无服务器计算扩展,允许您构建有状态函数。使用 Azure Functions 编程模型,您可以创建有状态工作流,方法是编写协调器函数和有状态实体,方法是编写实体函数。 支持的语言Durable Functions 目前支持以下语言:
应用程序模式Durable Functions 的主要目的是简化无服务器系统中复杂、有状态的协调要求。Durable Functions 在典型应用程序模式中提供的优势包括:
模式:函数链在函数链模式中,一系列函数按特定顺序执行。这样,一个函数的输出应用于另一个函数的输入。 ![]() 如以下示例所示,我们可以利用 Durable Functions 快速实现函数链模式。 本例中的 F1、F2、F3 和 F4 是同一函数应用中其他函数的名称。可以使用标准的命令式编码构造来实现控制流。代码执行从顶部开始,然后向下进行。我们甚至可以在编写代码时根据需要使用条件语句和不同的循环语句。在 try/catch/finally 块中,我们还可以结合错误处理逻辑。 模式:扇出/扇入在扇出/扇入模式中,您可以并行运行多个函数,然后等待它们全部完成。通常会根据函数提供的结果执行一些聚合工作。 ![]() 您可以让标准函数通过向队列发送多个消息来实现扇出。返回到原始位置要困难得多。要实现扇入,您可以编写代码来跟踪何时完成队列触发的函数,然后将函数输出存储在常规函数中。 F2 函数的扇出任务分布在多个实例中。动态任务列表用于跟踪作业。Task。调用 Task.WhenAll 时,它会等待所有已调用的函数完成。然后,F2 函数的结果会从动态任务列表中合并并提供给 F3 函数。 调用 Task.WhenAll 时会发生自动检查点。Task.WhenAll 确保了任务中的潜在崩溃或重启不会导致任务被重新启动。 模式:异步 HTTP API这种模式解决了外部客户端面临的长时运行活动状态协调的一个非常重要的问题。HTTP 终结点是实现此模式的常用方法,方法是触发长时运行的活动。然后将客户端重定向到一个状态终结点,客户端会轮询该终结点以确定何时完成进程。 ![]() Durable Functions 内置对此模式的支持,使其更容易与长时运行的函数执行进行交互,甚至无需编写代码。 Durable Functions 运行时甚至为我们管理状态,因此我们无需创建自己的状态跟踪方法。 Durable Functions 扩展通过公开内置的 HTTP API 来管理长时运行的编排。例如,可以使用队列消息来启动终止。 下一个主题什么是 ETL |
我们请求您订阅我们的新闻通讯以获取最新更新。