你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

API 管理策略参考

适用于:所有 API 管理层级

本部分提供所有 API 管理策略的参考文章的简要描述和链接。 说明了支持每个策略的 API 管理网关。 有关详细的策略设置和示例,请查看链接的参考文章。

有关策略的详细信息:

重要

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

速率限制和配额

策略 说明 经典 V2 消耗 自承载
按订阅限制调用率 通过在每个订阅的基础上限制调用速率,防止出现 API 使用峰值。
按密钥限制调用速率 通过在每个密钥的基础上限制调用速率,防止出现 API 使用峰值。 No
按订阅设置使用量配额 允许根据订阅强制实施可续订或有生存期的调用量和/或带宽配额。
按密钥设置使用量配额 允许根据密钥强制实施可续订或有生存期的调用量和/或带宽配额。 No
限制并发 阻止括住的策略一次执行超过指定数量的请求。
限制 Azure OpenAI 服务令牌的使用 通过限制每个计算密钥的大型语言模型令牌,防止 Azure OpenAI API 使用高峰。
限制大语言模型 API 令牌使用 通过限制每个计算密钥的 LLM 令牌,防止大型语言模型 (LLM) API 使用率峰值。

身份验证和授权

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

内容验证

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

路由

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

缓存

策略 说明 经典 V2 消耗 自承载
从缓存中获取 执行缓存查找,并在缓存可用时返回有效的缓存响应。
存储到缓存 根据指定的缓存控制配置来缓存响应。
从缓存中获取值 按键检索缓存的项。
在缓存中存储值 按键将项存储在缓存中。
从缓存中删除值 按键从缓存中删除项。
获取 Azure OpenAI API 请求的缓存响应 在 Azure OpenAI API 缓存中使用语义搜索执行查找,并在可用时返回有效的缓存响应。
存储用于缓存的 Azure OpenAI API 请求的响应 根据 Azure OpenAI API 缓存配置缓存响应。
获取大型语言模型 API 请求的缓存响应 在大型语言模型 API 缓存中使用语义搜索执行查找,并在可用时返回有效的缓存响应。
存储用于缓存的大型语言模型 API 请求的响应 根据大型语言模型 API 缓存配置缓存响应。

转换

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

跨域

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

集成和外部通信

策略 说明 经典 V2 消耗 自承载
发送请求 将请求发送到指定的 URL。
发送单向请求 将请求发送到指定的 URL,无需等待响应。
记录到事件中心 将指定格式的消息发送到记录器实体定义的事件中心。
发送对服务的请求 (Dapr) 使用 Dapr 运行时查找 Dapr 微服务并与之进行可靠的通信。 若要了解有关 Dapr 中服务调用的详细信息,请参阅这个 README 文件中的说明。 No No
将消息发送到发布/订阅主题 (Dapr) 使用 Dapr 运行时将消息发布到发布/订阅主题。 若要了解有关 Dapr 中发布/订阅消息的详细信息,请参阅这个 README 文件中的说明。 No No
触发器输出绑定 (Dapr) 使用 Dapr 运行时通过输出绑定调用外部系统。 若要了解有关 Dapr 中绑定的详细信息,请参阅此 README 文件中的说明。 No No

日志记录

策略 说明 经典 V2 消耗 自承载
跟踪 将自定义跟踪添加到测试控制台、Application Insights 遥测和资源日志中的请求跟踪输出中。 1
发出指标 在执行时将自定义指标发送到 Application Insights。
发出 Azure OpenAI 令牌指标 通过 Azure OpenAI 服务 API 将指标发送到 Application Insights 以使用大型语言模型令牌。 No
发出大型语言模型 API 令牌指标 通过 LLM API 将指标发送到 Application Insights,以使用大型语言模型 (LLM) 令牌。 No

1 在 V2 网关中,trace 策略当前不会在测试控制台中添加跟踪输出。

GraphQL 解析程序

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

策略控制和流

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

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