Я использую пакет gremlin (version 3.4.6)
для запроса моей учетной записи 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 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);
});
Код работает отлично, и я получаю результат обратно. У объекта результата есть свойство attributes
, которое выглядит примерно так:
{
"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"
}
Если вы заметили, есть две вещи, связанные с платой за запрос (в основном, насколько дорогой мой запрос): 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
.