sdk v3中的Azure Cosmos DB中的请求超时

时间:2020-08-13 04:42:03

标签: azure .net-core azure-cosmosdb

我正在将数据插入到天蓝色的宇宙数据库中。有时会引发错误(请求超时:408)。我已将请求超时时间增加到10分钟。

此外,我从api迭代了每个项目,并调用了CreateItemAsync()方法而不是批量执行程序。

要插入的数据= 430 K个项目
已使用的Microsoft.Azure.Cosmos SDK = v3
集装箱吞吐量= 400

任何人都可以帮助我解决此问题。

2 个答案:

答案 0 :(得分:0)

只需增加您的吞吐量即可。但是,如果您不增加费用,则会花很多钱。除非您将操作分批处理到需要花费很长时间才能插入40万个项目的程度,否则400 RU / s不会减少它。

如果这是一次性交易,请将您的RU / s增加到2000+,然后开始缓慢插入项目。我想说,根据您文档的大小,也许一次执行50次,然后等待250毫秒,然后再执行50次直到完成。不过,您将不得不玩这个游戏。

完成后,将RU / s下移至400。

Cosmos DB可能非常昂贵,所以要小心。


ETA:

这来自some documentation

增加吞吐量::数据迁移的持续时间取决于您为单个集合或一组集合设置的吞吐量。对于较大的数据迁移,请确保增加吞吐量。完成迁移后,请降低吞吐量以节省成本。有关在Azure门户中增加吞吐量的更多信息,请参阅Azure Cosmos DB中的性能级别和定价层。

答案 1 :(得分:0)

documentation page for 408 timeouts列出了许多可能的调查原因。

除了通过SDK客户端应用解决根本原因或提高吞吐量外,您还可以考虑利用Azure数据工厂将数据作为in this example来提取。假设您的数据加载是一个初始化过程,并且您的数据可以作为blob文件提供。