我对Azure Insights REST Api for Events有一些问题。
当我向Inisghts API发出事件的HTTP请求时,我会收到标题"x-ms-ratelimit-maining-subscription-reads",值为"14999"。但1秒后的下一个查询会返回相同的剩余读取值。
我看到那里有一些节流政策,但我想了解它是如何运作的,以及正确的处理方法是什么。
特别是
1) 我每秒能读多少次?
2) 如果我超过了整个剩余读取参数,我应该等待多长时间才能再次达到最大值?
3) 尽管设置了$top参数,并且返回了多少结果,但每次查询尝试时它是否都会减少?
谢谢!
这篇文章似乎有您需要的回应。
回答基于此的问题:
- 每秒的请求数没有限制,但您有
15k requests/hour/subscription/region/instance of ARM region
。在最坏的情况下,你会在收到15000个请求后被阻止,但你必须非常不幸 - 如果你超过了限制,你就是告诉你要等多久,你可以通过查看CCD_ 2报头。令人高兴的是,这是一个秒
- 我相信
$top
参数不会影响查询,因为无论返回多少结果,分页请求都是仍然只是一个请求
至于你收到14999个请求正如他们在文档中所说的那样,多次保留预期,因为ARM
区域具有多个实例,并且每个实例具有15k请求限制/订阅/小时。如果你同时命中如果你还剩下同样的号码,那就意味着你很幸运足以命中同一CCD_ 5区域内的不同实例。
1) 我每秒能读多少次?
根据此处公布的费率限制-https://azure.microsoft.com/en-in/documentation/articles/azure-subscription-service-limits/#subscription-限制,您可以执行15000次读取/小时(不确定它是否会转换为4次读取/秒)。
2) 如果我超过了剩余的全部读取参数,需要多少时间在它再次达到最大值之前我应该等待吗?
考虑到费率是按小时定义的,我想如果您的阅读请求限制达到15000次,就要等到下个小时。
3) 它是否在每次查询尝试时都会减少,尽管$top参数设置以及返回了多少结果?
这是基于API调用的数量,而不是返回的数据量。所以我想说定义$top
参数不应该对此有任何影响。
当我向Inisghts API发出事件的HTTP请求时,我会收到标头"x-ms-ratelimit-maining-subscription-reads",带值"14999"。但1s后的下一个查询返回的值与剩余值相同读取。
我认为这里有一些缓存。你重复的是同一个请求还是不同的请求?