2

.createDocument()调用以在集合中插入少于 200 个文档时收到以下错误。它通常开始发生在第 150 个电话左右。我正在使用 Node.js SDK。发生这种情况时,没有其他操作在数据库上运行。

{ code: 429, body: '{"code":"429","message":"Exception: Microsoft.Azure.Documents.RequestRateTooLargeException, message: {\"Errors\":[\"Request rate is large\" ]},请求URI:rntbd://10.100.136.85:14900/apps/1240113d-9858-49b9-90cb-1219f9e1df77/services/itsupportrequests-ServerService-1/partitions/d7253667-671b-4f4e-ac84-a13b7d3dbf5a/replicas 130701880511768464p\r\nActivityId: 5726e6b5-7955-4b39-b306-4903b9f69b36"}' }

4

1 回答 1

4

当您的访问速率超过允许的配额时,就会发生这种情况。DocumentDB 每个集合每秒最多有 2,000 个请求单位。插入收费(基于文档的大小和索引词的数量)。如果您的插入需要 20 个请求单位,那么您每秒可以进行 100 次插入。如果读取需要 2 个请求单位,则每秒可以执行 1,000 次。

如果超过此值,您将收到此错误。

解决这个问题的方法是跨多个集合扩展您的应用程序,每个集合每秒最多获得 2,000 个请求单位。

当您收到此异常时,您还将收到一个 HTTP 标头,该标头将告诉您在重试操作之前等待多长时间。遵守此等待期并再次尝试操作。

于 2015-03-10T17:25:01.960 回答