Node.js 理解CosmosDB Gremlin API中的“x-ms-request-charge”和“x-ms-total-request-charge”
我正在使用这个包来查询我的Cosmos DB帐户,目标是Gremlin Graph API。代码相当简单:Node.js 理解CosmosDB Gremlin API中的“x-ms-request-charge”和“x-ms-total-request-charge”,node.js,azure,azure-cosmosdb,gremlin,azure-cosmosdb-gremlinapi,Node.js,Azure,Azure Cosmosdb,Gremlin,Azure Cosmosdb Gremlinapi,我正在使用这个包来查询我的Cosmos DB帐户,目标是Gremlin Graph API。代码相当简单: const gremlin = require('gremlin'); const authenticator = new gremlin.driver.auth.PlainTextSaslAuthenticator( `/dbs/<database-name>/colls/<container-name>`, "<my-account-key>" )
const gremlin = require('gremlin');
const authenticator = new gremlin.driver.auth.PlainTextSaslAuthenticator(
`/dbs/<database-name>/colls/<container-name>`,
"<my-account-key>"
);
const client = new gremlin.driver.Client(
"wss://<account-name>.gremlin.cosmosdb.azure.com:443/",
{
authenticator,
traversalsource : "g",
rejectUnauthorized : true,
mimeType : "application/vnd.gremlin-v2.0+json"
}
);
client.submit("g.V()")
.then((result) => {
console.log(result);
})
.catch((error) => {
console.log(error);
});
如果您注意到,有两件事与请求费用有关,基本上就是我的查询有多贵:x-ms-request-charge和x-ms-total-request-charge
关于这一点,我有三个问题:
这两者有什么区别?
我注意到x-ms-request-charge总是以0的形式出现,x-ms-total-request-charge是一个非零值。为什么呢?和
我应该使用哪个值来计算申请费用?我的猜测是使用x-ms-total-request-charge,因为它是一个非零值。
在我们讨论时,如果有人能告诉我x-ms-server-time-ms和x-ms-total-server-time-ms之间的区别,我将不胜感激 这些响应代码特定于我们的Gremlin API,并记录在这里 对于单个请求,Gremlin服务器可以发送多个部分响应消息的响应,这些消息大致相当于一个页面,但以流的形式返回,而不是像sqlapi那样以连续方式返回多个请求/响应 x-ms-request-charge是解决单个部分响应所消耗的RU。 x-ms-total-request-charge正在运行到当前部分响应的总RU消耗量。因此,当发送最后一条消息时,这将表示整个请求消耗的总RU。 根据Gremlin客户端驱动程序实现的不同,每个部分响应可能会暴露给调用方,或者驱动程序会在内部累积所有响应并返回最终结果。考虑到后者,这促使我们添加x-ms-total-request-charge,这样以这种方式实现的驱动程序仍然可以解决请求的总成本
谢谢您的提问,希望这对您有所帮助。正在研究此问题。您询问的问题没有记录在我们的文档中。很快给你回复。谢谢@MarkBrown。如果我这边需要更多信息,请告诉我。这似乎是针对小精灵的。现在就开始了解细节。谢谢。谢谢马克的回答!这很有帮助。我确实有一些后续问题,但我将在您链接的文档页面上打开一个Github问题。再次感谢。
{
"x-ms-status-code": 200,
"x-ms-request-charge": 0,
"x-ms-total-request-charge": 123.85999999999989,
"x-ms-server-time-ms": 0.0419,
"x-ms-total-server-time-ms": 129.73709999999994,
"x-ms-activity-id": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
}