我正在将数据插入到天蓝色的宇宙数据库中。有时会引发错误(请求超时:408)。我已将请求超时时间增加到10分钟。
此外,我从api迭代了每个项目,并调用了CreateItemAsync()
方法而不是批量执行程序。
要插入的数据= 430 K个项目
已使用的Microsoft.Azure.Cosmos SDK = v3
集装箱吞吐量= 400
任何人都可以帮助我解决此问题。
答案 0 :(得分:0)
只需增加您的吞吐量即可。但是,如果您不增加费用,则会花很多钱。除非您将操作分批处理到需要花费很长时间才能插入40万个项目的程度,否则400 RU / s不会减少它。
如果这是一次性交易,请将您的RU / s增加到2000+,然后开始缓慢插入项目。我想说,根据您文档的大小,也许一次执行50次,然后等待250毫秒,然后再执行50次直到完成。不过,您将不得不玩这个游戏。
完成后,将RU / s下移至400。
Cosmos DB可能非常昂贵,所以要小心。
ETA:
增加吞吐量::数据迁移的持续时间取决于您为单个集合或一组集合设置的吞吐量。对于较大的数据迁移,请确保增加吞吐量。完成迁移后,请降低吞吐量以节省成本。有关在Azure门户中增加吞吐量的更多信息,请参阅Azure Cosmos DB中的性能级别和定价层。
答案 1 :(得分:0)
documentation page for 408 timeouts列出了许多可能的调查原因。
除了通过SDK客户端应用解决根本原因或提高吞吐量外,您还可以考虑利用Azure数据工厂将数据作为in this example来提取。假设您的数据加载是一个初始化过程,并且您的数据可以作为blob文件提供。