繁体   English   中英

有没有办法在 Azure API 管理中通过订阅改变速率限制的值

[英]Is there a way of varying the value of the rate limit by subscription in Azure API Management

在 Azure API 管理中,可以通过订阅和密钥限制通话费率: https://docs.microsoft.com/en-management/azureBystriction-api-managementRate

我的问题 - 有没有办法通过订阅改变通话限制和续订期限? 例如,订阅 A 可以每分钟调用 100 次操作,但订阅 B 可以每 10 秒调用 500 次?

我认为能够在订阅上设置变量可以解决这个问题,但我认为这是不可能的。 还有其他方法吗?

谢谢,克里斯。

如果我猜对了,这可能是一种解决方案:

<policies>
<inbound>
    <base />
    <choose>
        <when condition="@(context.Subscription.Id == "123")">
            <rate-limit-by-key calls="500" renewal-period="60" counter-key="@(context.Subscription.Id)" />
        </when>
        <when condition="@(context.Subscription.Name == "example-b")">
            <rate-limit-by-key calls="100" renewal-period="60" counter-key="@(context.Subscription.Id)" />
        </when>
        <otherwise>
            <rate-limit-by-key calls="10" renewal-period="60" counter-key="@(context.Subscription.Id)" />
        </otherwise>
    </choose>
</inbound>
<backend>
    <base />
</backend>...

这样,我认为您可以通过特定订阅 ID 或名称来改变速率限制。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM