SharePoint Online是否可以限制使用仅Azure AD App令牌的自定义Web API?

时间:2019-02-21 17:38:38

标签: asp.net-web-api azure-active-directory sharepoint-online

我有02个自定义Web API。一种使用用户和密码,另一种使用Azure AD App Only令牌连接到SharePoint Online。他们都没有执行批处理活动,而是简单的CRUD活动。但是有时使用用户名和密码的自定义Web API受到限制,从SharePoint Online收到503“服务器太忙”响应。我计划将该身份验证更改为Azure AD App Only令牌,因为在使用Azure AD App Only令牌时,我从未收到该响应。也许与分配给网站集的资源配额量有关。

  • 使用用户名和密码的客户Web API部署在内部服务器上。
  • 使用Azure AD App Only令牌的客户Web API部署在Azure中的App Service上。

1 个答案:

答案 0 :(得分:0)

我知道这确实不是您问题的答案。当SharePoint限制您的请求时,它将向您发送 429太多请求 503服务器太忙,并包含有关您应该重试的信息(响应标题Retry-After)。 / p>

节流根据用户而定。因此,一个用户(发出大量请求)可能受到限制,而另一用户则没有。我不确定这是否适用于仅应用程序(可能是),但节流只是一种调节请求数量的机制,以确保服务器不会被一个用户的请求所占用。您有一些选择可以避免受到限制,请参阅下面的参考资料。

您还可以尝试检查响应标头 X-SharePointHealthScore (此标头出现在所有响应中),以检查服务器有多忙。此标头包含从1到10的数字,当10表示SharePoint服务器负载沉重时,您可以期望您的请求将被拒绝。

  

参考:   How to avoid getting throttled or blocked in SharePoint Online