在Azure API Management中设置并发限制

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在Azure API Management中设置并发限制相关的知识,希望对你有一定的参考价值。

我有一个只能通过API管理访问的API。当API被同时调用100次以上时,Api开始失败。我看到了这份文件,解释了需要做什么。

https://docs.microsoft.com/en-us/azure/api-management/api-management-advanced-policies

我插入了文档中指定的以下策略(在API管理中的产品级别)

<policies>
  <inbound>…</inbound>
  <backend>
    <limit-concurrency key="someConstantId" max-count="3">
      <forward-request timeout="120"/>
    <limit-concurrency/>
  </backend>
  <outbound>…</outbound>
</policies>

但是在试图保存时,我遇到了错误

One or more fields contain incorrect values:
The 'limit-concurrency' start tag on line 43 position 14 does not match the end tag of 'backend'. Line 46, position 7.

然后我将政策改为

   <policies>
      <inbound>…</inbound>
      <backend>
        <limit-concurrency key="someConstantId" max-count="3"/>
      </backend>
      <outbound>…</outbound>
    </policies>

它保存了Ok,但对解决我的并发问题没有任何影响

我究竟做错了什么?

答案

我认为结束标记不正确:

<limit-concurrency key="someConstantId" max-count="3">
      <forward-request timeout="120"/>
<limit-concurrency/>

我猜它应该是:

<limit-concurrency key="someConstantId" max-count="3">
      <forward-request timeout="120"/>
</limit-concurrency>

以上是关于在Azure API Management中设置并发限制的主要内容,如果未能解决你的问题,请参考以下文章

如何在Xcode中设置并编辑运行Python

Azure Function Timer Trigger & API management - 手动执行返回 404

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

Azure API 管理在 API 终结点级别限制多个调用方 IP 地址 API

没有 user_impersonation 的 Azure 资源管理 API,可以吗?

如何使用API 获取Azure提供的详细信息?