关于Azure Api端点上的某些重复调用,我有些麻烦。例如,我看到我的端点:
网球/网球
被叫过两次
首先:2020-11-02T18:07:19.8261667Z
第二:2020-11-02T18:07:19.881239Z
我想避免第二次调用具有相同的有效负载(例如“我不执行此调用,因为它比第一次调用太近了,如果5秒后可以,则可以)。我正在寻找与政策相关的内容,但没有发现任何有趣的内容。
答案 0 :(得分:2)
根据您的描述,也许您想add rate limit
使用您的api。我认为this document将为您提供帮助。
这部分描述了如何防止在短时间内调用您的api。您可以修改策略以满足您的自定义请求。
calls="3" renewal-period="15" means you can call this api no more than 3 times within 15 seconds.
<policies>
<inbound>
<rate-limit-by-key calls="3" renewal-period="15" counter-key="@(context.Subscription.Id)" />
<base />
</inbound>
<backend>
<base />
</backend>
<outbound>
<set-header name="X-Powered-By" exists-action="delete" />
<set-header name="X-AspNet-Version" exists-action="delete" />
<redirect-content-urls />
<base />
</outbound>
<on-error>
<base />
</on-error>
</policies>
编辑后,您可以调用您的api,然后在调用太多次作为配置时会发现429 Too many requests
。