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

标签 azure azure-api-management

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

最佳答案

先决条件:

  1. API 订阅已关闭:

enter image description here

  • 产品订阅已关闭:
  • enter image description here

  • 产品已添加到 API:
  • enter image description here

  • 产品已定义政策,例如: enter image description here
  • 如果以上几点成立,只需调用您的 API,不带 Ocp-Apim-Subscription-Key header ,APIM 将自动执行 API 和附加的产品策略。 如果您为 Ocp-Apim-Subscription-Key 提供正确的值(例如管理员订阅 key ),APIM 将仅执行 API 策略。

    <小时/>

    为了减少挫败感,了解政策命令的执行情况非常重要。阅读整篇文章here但简而言之,顺序是:

    1. 全局范围
    2. 产品范围
    3. API 范围
    4. 经营范围
    <小时/>

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

    enter image description here

    关于Azure API 管理 - 当产品不需要订阅时如何执行产品策略?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67307254/

    相关文章:

    azure - 在一定时间后删除 azure 中的 blob

    Azure Synapse 管道脚本事件 : "Incorrect Syntax" Error when using script parameters

    sql-server - 尝试使用 Azure ML/Docker 镜像查询 Azure SQL 数据库

    Azure 身份验证 token - AADSTS500113 : No reply address is registered for the application

    azure - 访问状态代码或使用 <send-request> 发出的请求

    Azure Databricks 与具有专用终结点的 Azure Key Vault 集成

    azure - Powershell 脚本 Azure SQL DB 防火墙

    azure - 托管服务身份必须配置为使用身份验证 token 策略

    Azure API 管理 : Is it possible to see trace when invoked from outside the portal

    Azure API 管理直通到后端服务