Compartir a través de

使用 Azure Functions 生成无服务器 REST API

Azure Functions 是一个至关重要的计算服务,可用于生成基于 REST 的无服务器 API。 HTTP 触发器公开可由客户端(例如浏览器、移动应用和其他后端服务)调用的 REST 终结点。 通过对路由的原生支持,单个 HTTP 触发函数可以公开功能强大的 REST API。 Functions 还提供自己的基于密钥的基本授权方案,以帮助实现仅限特定客户端的访问。 有关详细信息,请参阅 Azure Functions HTTP 触发器

在某些情况下,你可能需要 API 支持一组较复杂的 REST 行为。 例如,你可能需要将多个 HTTP 函数终结点组合到一个 API 中。 你还可能希望将请求传递给一个或多个基于 REST 的后端服务。 最后, API 可能需要更高程度的安全性,以便能够从其使用中盈利。

当前,根据函数生成较复杂可靠的 API 的建议方法是使用 Azure API 管理提供的综合 API 服务。 API 管理使用基于策略的模型来让你控制路由、安全性和 OpenAPI 集成。 它还支持速率限制盈利之类的高级策略。 以前的 Functions 运行时版本使用旧的 Functions 代理功能。

重要

Azure Functions 代理是 Azure Functions 运行时 1.x 到 3.x 版的旧功能。 可以在 4.x 版本中重新启用对代理的支持,以便可以将函数应用成功升级到最新的运行时版本。 你应该尽快将你的函数应用与 Azure API 管理集成。 API 管理使你能够利用一组更完整的功能来定义、保护、管理基于 Functions 的 API 并从中获利。 有关详细信息,请参阅 API 管理集成

若要了解如何在 Functions 版本 4.x 中重新启用代理支持,请参阅在 Functions v4.x 中重新启用代理

从 Functions 代理迁移到 API 管理

从 Functions 代理迁移到 API 管理时,必须将函数应用与 API 管理实例集成,然后将 API 管理实例的行为配置为与旧代理相同。 以下部分提供了相关文章的链接,以帮助你成功地将 API 管理与 Azure Functions 配合使用。

如果在从代理迁移时遇到问题,或者 Azure API 管理无法解决特定方案,请在 API 管理反馈论坛中发布请求。

API 管理集成

API 管理允许导入现有的函数应用。 导入后,每个 HTTP 触发函数终结点将成为可修改和管理的 API。 导入后,还可以使用 API 管理来为 API 生成 OpenAPI 定义文件。 在导入期间,将忽略具有 admin 授权级别的任何终结点。 有关将 API 管理与 Functions 配合使用的详细信息,请参阅以下文章:

项目 说明
使用 Azure API 管理从 HTTP 终结点公开无服务器 API 介绍如何在 Azure 门户中从现有函数应用创建新的 API 管理实例。 支持所有语言。
使用 Azure Functions 和 API 管理集成在 Visual Studio 中创建无服务器 API 介绍如何通过 Visual Studio 创建使用 OpenAPI 扩展的 C# 项目。 OpenAPI 扩展允许通过将属性直接应用于 C# 代码来定义 .NET API。
快速入门:使用 Azure 门户新建 Azure API 管理服务实例 在门户中创建新的 API 管理实例。 创建 API 管理实例后,可将其连接到函数应用。 支持其他非门户创建方法。
在 Azure API 管理中将 Azure 函数应用作为 API 导入 介绍如何导入现有函数应用,以将现有 HTTP 触发器终结点公开为托管的 API。 此文的内容包括如何创建新的 API,以及如何将终结点添加到现有的托管 API。

以下文章提供了有关在使用 API 管理公开函数应用终结点后,如何在 API 管理实例中管理基于 Functions 的 API 的一般信息。

项目 说明
编辑 API 介绍如何使用 API 管理中托管的现有 API。
Azure API 管理中的策略 在 API 管理中,发布者可以使用策略通过配置来更改 API 行为。 策略是针对 API 请求或响应按顺序运行的一系列语句。
API 管理策略参考 详细介绍所有受支持 API 管理策略的参考文章。
API 管理策略示例 有关在关键方案中使用 API 管理策略的有用示例集合。

旧版 Functions 代理

旧版 Functions 代理功能还为 3.x 版和更低版本的 Functions 运行时提供一组基本 API 功能。

重要

Azure Functions 代理是 Azure Functions 运行时 1.x 到 3.x 版的旧功能。 可以在 4.x 版本中重新启用对代理的支持,以便可以将函数应用成功升级到最新的运行时版本。 你应该尽快将你的函数应用与 Azure API 管理集成。 API 管理使你能够利用一组更完整的功能来定义、保护、管理基于 Functions 的 API 并从中获利。 有关详细信息,请参阅 API 管理集成

若要了解如何在 Functions 版本 4.x 中重新启用代理支持,请参阅在 Functions v4.x 中重新启用代理

有关如何使用 API 管理执行类似任务的一些基本提示已添加到 Functions 代理文章中。 我们目前未提供文档或工具来帮助你将现有 Functions 代理实现迁移到 API 管理。

后续步骤