是否可以使用标准 MongoDB SDK 识别 CosmosDB for MongoDB 中的速率限制超出情况?

问题描述 投票:0回答:1

我们使用标准 mongodb SDK 来访问 CosmosDB for MongoDB。有时它会达到速率限制并拒绝许多请求。我们需要识别这种情况并暂时停止发送文档。

Azure 文档表示在这种情况下它将返回 16500 / 429 响应。但是我们使用的是标准 mongodb sdk,因此看起来无法获取 http 状态代码。根据此页面:https://devblogs.microsoft.com/cosmosdb/upgrade-your-server-version-from-3-2-to-3-6-for-azure-cosmos-db-api-for -mongodb/ 即使cosmosdb的sdk在3.6之后也不会返回特殊代码?

如果您有解决方案,请告诉我。

谢谢!

我们的测试显示它将抛出 MongoExecutionTimeoutException 并显示如下消息:请求超时。由于速率限制而重试:正确。在这种情况下,但不确定这是否是正确的方法。

mongodb azure-cosmosdb
1个回答
0
投票

感谢您检查这个问题。

我们已通过另一种方式解决了该问题。我们当前的代码在尝试创建集合时存在一些问题并触发了速率限制,但不再需要它。修复后,我们再也不会遇到超时异常。

据我所知,当启用 SSR 时,您只会收到超时异常。然而,正如问题中提到的,对于像创建集合这样的 DML 操作,当达到速率限制时,错误消息是不同的。由于服务器上始终启用 SSR,因此我们没有机会测试禁用 SSR 时会返回什么错误代码。

© www.soinside.com 2019 - 2024. All rights reserved.