Azure API 管理 - 当产品不需要订阅时如何执行产品策略?
Azure API Management - How to execute product policy when product does not require subscription?
我发布了一个不需要订阅的产品。组成它的 4 个 API 也没有。如何定义产品级别的政策?
此类策略似乎仅在 API AND 产品都需要订阅 AND 使用产品订阅密钥提出请求时才有效。
先决条件:
- API 订阅已关闭:
- 产品订阅已关闭:
- 添加到 API 的产品:
- 产品已定义政策,例如:
如果以上几点是正确的,只需调用你的 API 没有 Ocp-Apim-Subscription-Key header 并且 APIM 将自动执行 API 并附上产品政策。 如果您为 Ocp-Apim-Subscription-Key 提供正确的值,例如管理员订阅密钥,APIM 将仅执行 API 策略。
为了减少挫败感,了解保单订单执行很重要。阅读整篇文章 here 但简而言之顺序是:
- 全球范围
- 产品范围
- API 范围
- 经营范围
最后一件事,如果非订阅产品附加到非订阅 API 并且其策略自动执行,您可能想知道如果我们将第二个开放产品添加到 API 会发生什么?将执行哪个产品的政策?事实证明,这是不可能的(这是有道理的)。尝试添加第二个打开的产品将导致以下错误:
我发布了一个不需要订阅的产品。组成它的 4 个 API 也没有。如何定义产品级别的政策?
此类策略似乎仅在 API AND 产品都需要订阅 AND 使用产品订阅密钥提出请求时才有效。
先决条件:
- API 订阅已关闭:
- 产品订阅已关闭:
- 添加到 API 的产品:
- 产品已定义政策,例如:
如果以上几点是正确的,只需调用你的 API 没有 Ocp-Apim-Subscription-Key header 并且 APIM 将自动执行 API 并附上产品政策。 如果您为 Ocp-Apim-Subscription-Key 提供正确的值,例如管理员订阅密钥,APIM 将仅执行 API 策略。
为了减少挫败感,了解保单订单执行很重要。阅读整篇文章 here 但简而言之顺序是:
- 全球范围
- 产品范围
- API 范围
- 经营范围
最后一件事,如果非订阅产品附加到非订阅 API 并且其策略自动执行,您可能想知道如果我们将第二个开放产品添加到 API 会发生什么?将执行哪个产品的政策?事实证明,这是不可能的(这是有道理的)。尝试添加第二个打开的产品将导致以下错误: