我发布了一个不需要订阅的产品。组成它的 4 个 API 也没有。如何在产品级别定义策略?
此类策略似乎仅在 API 和产品都需要订阅并且使用产品订阅 key 发出请求时才有效。
最佳答案
先决条件:
- API 订阅已关闭:
- 产品订阅已关闭:
- 产品已添加到 API:
如果以上几点成立,只需调用您的 API,不带 Ocp-Apim-Subscription-Key header ,APIM 将自动执行 API 和附加的产品策略。 如果您为 Ocp-Apim-Subscription-Key 提供正确的值(例如管理员订阅 key ),APIM 将仅执行 API 策略。
<小时/>为了减少挫败感,了解政策命令的执行情况非常重要。阅读整篇文章here但简而言之,顺序是:
- 全局范围
- 产品范围
- API 范围
- 经营范围
最后一件事,如果非订阅产品附加到非订阅 API 并且其策略自动执行,您可能想知道如果我们向 API 添加第二个开放产品会发生什么?将执行哪个产品的政策?事实证明,这是不可能的(这是有道理的)。尝试添加第二个打开的产品将导致以下错误:
关于Azure API 管理 - 当产品不需要订阅时如何执行产品策略?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67307254/