Azure API 管理 - 仅在设置标签时应用策略

Azure API Management - apply policy only if tag is set

我设法在 APIM 中配置了一组策略来满足我的需要(身份验证)。配置 XML 又长又脏,但规则应该应用于所有需要身份验证的 API,因此我可以将它们设置在 'All APIs' 级别。但当然不是所有 API 都需要身份验证。这个想法是使用某种流量控制策略来配置它们,以便仅在标记 API 时才应用它们。但是我没有找到获取 APIs 元数据的方法。

那么有没有办法使用 APIM 表达式读取 APIs 元数据?或者还有其他实现主要目标的方法吗?

再次检查 https://docs.microsoft.com/en-us/azure/api-management/api-management-policy-expressions#ContextVariables 我发现无法在策略中查询标签元信息。当然,您可以在途中通过 API 管理 REST API 本身查询 API 的标签,但我想这会大大增加延迟。

对于这种情况,我会创建一个 API 产品,将身份验证部分放入产品的策略中,然后只将相关的 API 分配给该产品。