我第一次使用来自queryDocuments客户端的node.js ()方法。我以前使用过readDocument()、executeStoredProcedure()、replaceStoredProcedure()等,所有这些都返回一个标头对象,该对象允许您检查“x请求-充电”报头,以识别操作的请求单元费用。但是,当使用queryDocuments()或readDocuments()方法时,它返回一个QueryIterator,我看不到检查它以查看操作的RUs的方法。
我怀疑原因是这不是一次手术。这是一系列操作,您没有实现一种方法来聚合整个事件的总RUs。我愿意直接访问REST来获得它,但我想问一下,在我遇到麻烦之前,是否有办法从当前的库中获得它。
发布于 2015-07-10 20:26:21
您可以通过检查callback中用于queryIterator.executeNext()的第三个输入参数来检查响应头(例如queryIterator.executeNext())。
例如,这里有一个代码示例,它使用响应头(x-ms-retry-after-ms)在节流阀上实现重试逻辑(错误429)。
var queryIterator = documentClient.queryDocuments(collection._self, query);
executeNextWithRetry(yourCallback);
function executeNextWithRetry(callback) {
queryIterator.executeNext(function(err, results, responseHeaders) {
if(err && err.code === 429 && responseHeaders['x-ms-retry-after-ms']) {
console.log("Retrying after " + responseHeaders['x-ms-retry-after-ms']);
setTimeout(function() {
executeNextWithRetry(callback);
}, responseHeaders['x-ms-retry-after-ms']);
} else {
callback(err, results, responseHeaders);
}
});
}https://stackoverflow.com/questions/31347880
复制相似问题