当我尝试将多批记录迁移到CRM时,Dynamics 365 Web API引发以下错误:
传入请求的合并执行时间超过了限制 在300秒的时间范围内为1,200,000毫秒。减少 并发请求数或减少请求的持续时间,以及 稍后再试。
我正在使用并行for循环,以使用Web API将多批数据迁移到CRM。我需要有很高的吞吐量,因为我需要在有限的时间内迁移数百万条记录。
有没有办法绕过这个问题?限制线程数会导致吞吐量遭受重大打击。 我需要一个解决方案,以便可以同时(同时)迁移数百个批次。
我使用的是Dynamics 365的Web API v9.1。我使用的是并行for循环,并且在每次迭代中,都会拾取一大块数据(假设批大小为500),并且该线程将迁移这500条记录到CRM。我希望将500条记录的多个线程迁移到CRM。
我尝试通过使用多个用户来解决此问题(因为限制仅限于每个用户),但是客户端未接受该解决方案。
另一种解决方案是减少并发线程数。这导致吞吐量降低。
我不想限制线程数。是否有解决此问题的方法?
答案 0 :(得分:2)
API Limits是已记录的功能。
该限制将有助于提供一定程度的保护,免受随机和 请求量意外增加,威胁可用性 和Dynamics 365平台的性能特征。
实际上没有办法将其关闭。您可以尝试向Microsoft索取支持票,以查看他们是否愿意,但似乎它们存在的目的是为所有用户(不仅仅是您的客户)保护该平台,所以请不要屏住呼吸。
文档本身有一个答案,尽管它可能不是您想要的。
如果收到这些响应,则您的应用程序应停止发送API 直到请求量低于限制。
您可能需要注意的几件事:
由于管理用户无权访问客户数据 以及任何与客户互动的功能, 需要Dynamics 365的客户参与应用程序(在线)许可证 (设置后)。
您可以使用ExecuteMultipleRequest消息来支持更高版本 Dynamics 365 for Customer中的吞吐量批量消息传递方案 参与度,特别是在Dynamics 365 for Customer的情况下 互动应用程序,Internet延迟可能是最大的限制 因素。
您有一些limitations。
除了经验之外,Dynamics数据迁移可能需要很长时间才能完成,而通常最好的解决方案是耐心。