Azure API 管理策略参考

适用于:所有 API 管理层级

本文列出了所有 Azure API 管理 策略,并附有简要说明及每个策略的参考文献链接。 每个表都表示支持该策略的 Azure API 管理 网关。 有关详细的策略设置和示例,请查看链接的参考文章。

有关策略的详细信息:

重要

按订阅限制调用率和按订阅设置使用量配额依赖于订阅密钥。 应用其他策略时不需要订阅密钥。

速率限制和配额

Policy 说明 经典 消耗 自承载
按订阅限制调用率 通过在每个订阅的基础上限制调用速率,防止出现 API 使用峰值。 是 是 是
按密钥限制调用速率 通过在每个密钥的基础上限制调用速率,防止出现 API 使用峰值。 是 否 是
按订阅设置使用量配额 按订阅方式强制执行可再生能源或终身通话量和/或带宽配额。 是 是 是
按密钥设置使用量配额 按密钥强制执行可再生能源或终身通话量和/或带宽配额。 是 否 是
限制并发 阻止括住的策略一次执行超过指定数量的请求。 是 是 是

身份验证和授权

Policy 说明 经典 消耗 自承载
检查 HTTP 标头 强制实施 HTTP 标头的存在和/或值。 是 是 是
限制调用方 IP 筛选(允许/拒绝)来自特定 IP 地址和/或地址范围的调用。 是 是 是
验证 Microsoft Entra 令牌 强制要求从指定 HTTP 标头、查询参数或令牌值中提取的 Microsoft Entra(以前称为 Azure Active Directory)JWT 存在且有效。 是 是 是
验证 JWT 强制要求从指定 HTTP 标头、查询参数或令牌值提取的 JWT 存在且有效。 是 是 是
验证客户端证书 强制客户端提供给 API 管理实例的证书与指定的验证规则和声明相匹配。 是 是 是
使用基本方法进行身份验证 通过后端服务(使用基本身份验证)进行身份验证。 是 是 是
使用客户端证书进行身份验证 通过后端服务(使用客户端证书)进行身份验证。 是 是 是
使用托管标识进行身份验证 通过后端服务使用托管标识进行身份验证。 是 是 是

内容验证

Policy 说明 经典 消耗 自承载
验证内容 根据一个或多个 API 架构验证请求或响应正文的大小或内容。 支持的架构格式为 JSON 和 XML。 是 是 是
验证 GraphQL 请求 验证对 GraphQL API 的请求并授权。 是 是 是 是
验证 OData 请求 验证对 OData API 的请求,以确保符合 OData 规范。 是 是 是
验证参数 根据 API 架构验证请求标头、查询或路径参数。 是 是 是
验证标头 根据 API 架构验证响应头。 是 是 是
验证状态代码 根据 API 架构验证响应中的 HTTP 状态代码。 是 是 是

路由

Policy 说明 经典 消耗 自承载
转发请求 将请求转发到后端服务。 是 是 是
设置后端服务 将传入请求的后端服务基 URL 更改为 URL 或后端。 通过引用后端资源,可以在单个位置管理后端服务基 URL 和其他设置。 此外,还可以实施跨后端服务池的流量负载均衡和断路器规则,以保护后端免受过多请求。 是 是 是
设置 HTTP 代理 通过HTTP代理路由转发请求。 是 是 是

缓存

Policy 说明 经典 消耗 自承载
从缓存中获取 执行缓存查找,并在缓存可用时返回有效的缓存响应。 是 是 是
存储到缓存 根据指定的缓存控制配置来缓存响应。 是 是 是
从缓存中获取值 按键检索缓存的项。 是 是 是
在缓存中存储值 按键将项存储在缓存中。 是 是 是
从缓存中删除值 按键从缓存中删除项。 是 是 是

转换

Policy 说明 经典 消耗 自承载
设置请求方法 更改请求的HTTP方法。 是 是 是
设置状态代码 将 HTTP 状态代码更改为指定的值。 是 是 是 是
设置变量 在名为 context 的变量中保留一个值,以供以后访问。 是 是 是
设置正文 设置请求或响应的消息正文。 是 是 是
设置 HTTP 标头 向现有的响应和/或请求标头赋值,或者添加新的响应和/或请求标头。 是 是 是
设置查询字符串参数 添加、替换请求查询字符串参数的值,或将该参数删除。 是 是 是
重写 URL 将请求 URL 从其公用格式转换为 Web 服务所需的格式。 是 是 是
将 JSON 转换为 XML 将请求或响应正文从 JSON 转换为 XML。 是 是 是
将 XML 转换为 JSON 将请求或响应正文从 XML 转换为 JSON。 是 是 是
在正文中查找并替换字符串 查找请求或响应子字符串并将其替换为不同的子字符串。 是 是 是
在内容中屏蔽 URL 重写(屏蔽)响应正文中的链接,使其通过网关指向等效的链接。 是 是 是
使用 XSLT 转换 XML 在请求或响应正文中将 XSL 转换应用到 XML。 是 是 是
返回响应 中止管道执行,将指定的响应直接返回给调用方。 是 是 是
模拟响应 中止管道执行,将模拟的响应直接返回给调用方。 是 是 是

跨域

Policy 说明 经典 消耗 自承载
允许跨域调用 使 API 可供基于 Adobe Flash 和 Microsoft Silverlight 浏览器的客户端访问。 是 是 是
CORS 向操作或 API 添加跨域资源共享 (CORS) 支持,以便通过基于浏览器的客户端进行跨域调用。 是 是 是
JSONP 向操作或 API 添加 JSON with Padding (JSONP) 支持,以便通过基于 JavaScript 浏览器的客户端进行跨域调用。 是 是 是

集成和外部通信

Policy 说明 经典 消耗 自承载
发送请求 将请求发送到指定的 URL。 是 是 是
发送单向请求 将请求发送到指定的 URL,无需等待响应。 是 是 是
记录到事件中心 将采用指定格式的消息发送到记录器实体定义的事件中心。 是 是 是
将消息发送到 Azure 服务总线 (预览版) 将消息发送到 Azure 服务总线队列或主题。 是 否 否
发送对服务的请求 (Dapr) 使用 Dapr 运行时查找 Dapr 微服务并与之进行可靠的通信。 更多信息请参见 Dapr中的服务调用。 否 否 是
将消息发送到发布/订阅主题 (Dapr) 使用 Dapr 运行时将消息发布到发布/订阅主题。 欲了解更多信息,请参阅 Dapr中的发布和订阅消息。 否 否 否 是
触发器输出绑定 (Dapr) 使用 Dapr 运行时通过输出绑定调用外部系统。 更多信息请参见 Dapr中的绑定。 否 否 是

日志记录

Policy 说明 经典 消耗 自承载
跟踪 将自定义跟踪添加到测试控制台、Application Insights 遥测和资源日志中的请求跟踪输出中。 是 是 是
发出指标 在执行时将自定义指标发送到 Application Insights。 是 是 是

GraphQL 解析程序

Policy 说明 经典 消耗 自承载
解析程序的 Azure SQL 数据源 配置 Azure SQL 请求和可选响应,以解析 GraphQL 架构中对象类型和字段的数据。 是 否 否
解析程序的 Cosmos DB 数据源 配置 Cosmos DB 请求和可选响应,以解析 GraphQL 架构中对象类型和字段的数据。 是 否 否
解析程序的 HTTP 数据源 配置 HTTP 请求,并选择性地配置 HTTP 响应以解析 GraphQL 架构中对象类型和字段的数据。 是 是 否
将事件发布到 GraphQL 订阅 将事件发布到 GraphQL API 架构中指定的一个或多个订阅。 为架构中的相关字段配置 GraphQL 解析程序中的策略,以便用于另一种操作类型,如变更。 是 是 否

策略控制和流

Policy 说明 经典 消耗 自承载
控制流 基于布尔表达式的计算结果,有条件地应用策略语句。 是 是 是
包含片段 在策略定义中插入策略片段。 是 是 是
重试 重试执行括住的策略语句,直到符合条件为止。 系统会按指定的时间间隔重复执行,直到达到指定的重试计数为止。 是 是 是
Wait 在继续下一步之前,等待括住的发送请求、从缓存中获取值或控制流策略完成。 是 是 是

有关使用策略的详细信息,请参阅: