Azure API 管理 - 当产品不需要订阅时如何执行产品策略?

Azure API Management - How to execute product policy when product does not require subscription?

我发布了一个不需要订阅的产品。组成它的 4 个 API 也没有。如何定义产品级别的政策?
此类策略似乎仅在 API AND 产品都需要订阅 AND 使用产品订阅密钥提出请求时才有效。

先决条件:

  1. API 订阅已关闭:

  1. 产品订阅已关闭:

  1. 添加到 API 的产品:

  1. 产品已定义政策,例如:

如果以上几点是正确的,只需调用你的 API 没有 Ocp-Apim-Subscription-Key header 并且 APIM 将自动执行 API 并附上产品政策。 如果您为 Ocp-Apim-Subscription-Key 提供正确的值,例如管理员订阅密钥,APIM 将仅执行 API 策略。


为了减少挫败感,了解保单订单执行很重要。阅读整篇文章 here 但简而言之顺序是:

  1. 全球范围
  2. 产品范围
  3. API 范围
  4. 经营范围

最后一件事,如果非订阅产品附加到非订阅 API 并且其策略自动执行,您可能想知道如果我们将第二个开放产品添加到 API 会发生什么?将执行哪个产品的政策?事实证明,这是不可能的(这是有道理的)。尝试添加第二个打开的产品将导致以下错误: