你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
Azure 静态 Web 应用中通过 Azure Functions 提供 API 支持
前端 Web 应用程序通常为数据和服务调用后端 API。 默认情况下,Azure Static Web Apps 通过 Azure Functions 提供内置无服务器 API 终结点。
Static Web Apps 中的 Azure Functions API 有两种可能的配置,具体取决于托管计划:
托管函数:默认情况下,静态 Web 应用的 API 是与某些限制关联的 Azure Static Web Apps 所托管和部署的 Azure Functions 应用程序。
创建自己的函数:你可以选择针对任何计划类型提供现有 Azure Functions 应用程序,其中包括 Azure Functions 的所有功能。 使用此配置,用户需负责单独部署此 Functions 应用。
下表对比了使用托管函数和现有函数之间的差异。
功能 | 托管函数 | 创建自己的函数 |
---|---|---|
访问 Azure Functions 触发器和绑定 | 仅 HTTP | 全部 |
支持的 Azure Functions 运行时1 | 请参阅支持的语言和运行时。 | All |
支持 Azure Functions 托管计划 | 消耗 | 消耗 高级 专用 |
集成安全性,可直接访问用户身份验证和基于角色的授权数据 | ✔ | ✔ |
路由集成,可向 Web 应用安全地提供 /api 路由,而无需自定义 CORS 规则。 |
✔ | ✔ |
Durable Functions 编程模型 | ✕ | ✔ |
托管的标识 | ✕ | ✔ |
Azure 应用服务身份验证和授权令牌管理 | ✕ | ✔ |
Azure Static Web Apps 外部的可用 API 函数 | ✕ | ✔ |
密钥保管库引用 | ✕ | ✔ |
1 若要在托管函数中指定运行时版本,请向前端应用添加配置文件并设置 apiRuntime
属性。 支持受 Azure Functions 语言运行时支持策略的影响。
Static Web Apps 的 API 选项包括以下 Azure 服务:
有关详细信息,请参阅 API 概述。
配置
API 终结点通过 api
路由向 Web 应用提供。
托管函数 | 创建自己的函数 |
---|---|
虽然 /api 路由已固定,但你可以控制托管函数应用的源代码文件夹位置。 可以通过编辑工作流 YAML 文件来改变此位置,该文件位于存储库的 .github/workflows 文件夹中的。 |
对 /api 路由的请求将发送到现有 Azure Functions 应用。 |
故障排除和日志
仅当添加 Application Insights 时,日志才可用。
托管函数 | 创建自己的函数 |
---|---|
通过启用静态 Web 应用上的 Application Insights,启用日志记录。 | 通过启用 Azure Functions 应用上的 Application Insights,启用日志记录。 |
约束
除了 Static Web Apps API 约束,以下限制也适用于 Azure Functions API:
托管函数 | 创建自己的函数 |
---|---|
|
|