【问题标题】:Reusing APIM policy expressions重用 APIM 策略表达式
【发布时间】:2019-04-04 18:17:30
【问题描述】:

我有一些复杂的策略表达式,我想在不同的操作中重用它们。有没有办法在 Azure APIM 中实现这一点?

策略表达式可用于不同的范围,例如全局、产品、API 或操作范围。为了非常清楚,假设我有一个效用函数,它被写成一个策略表达式。我想在不同的 API 以及不同的操作中重用它。目前我需要在我想使用它的所有地方复制复杂的表达式。我想知道是否有可能重用代码。

【问题讨论】:

  • 在给定的 API 中,策略表达式默认影响所有操作。您能否在问题中添加更多细节以使其更清楚?
  • 嗨,鲍比,感谢您的评论。策略表达式可用于不同的范围,例如全局、产品、API 或操作范围。为了非常清楚,假设我有一个效用函数,它被写成一个策略表达式。我想在不同的 API 以及不同的操作中重用它。目前我需要在我想使用它的所有地方复制复杂的表达式。我想知道是否有可能重用代码。

标签: azure-api-management api-management


【解决方案1】:

如果您希望在 APIM 实例中定义一次策略,并让它出现在该实例的所有 API 中,您需要定义一个基本策略。当您查看新创建的 API 的策略页面时,它会如下所示:

<policies>
    <inbound>
        <base />
    </inbound>
    <backend>
        <base />
    </backend>
    <outbound>
        <base />
    </outbound>
    <on-error>
        <base />
    </on-error>
</policies>

&lt;base /&gt; 指的是为All APIs 定义的任何入站/后端/出站/错误策略。要获取该政策文件,请参见下图

您在此处定义的策略由您所有 API 中的 &lt;base /&gt; 标签导入。

使用Named Values 还可以促进代码重用。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-08-28
    • 1970-01-01
    • 2019-06-01
    • 2018-09-26
    • 1970-01-01
    相关资源
    最近更新 更多