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