В Cosmos DB, как определить размер документа и отреагировать на него, прежде чем я его создаю - PullRequest
0 голосов
/ 07 мая 2018

Я пытаюсь управлять своими документами с лимитом в 2 МБ. Какой самый эффективный, точный и наименее ресурсоемкий способ получить размер документа перед попыткой его создания?

Ответы [ 2 ]

0 голосов
/ 07 мая 2018

Вы можете сериализовать объект, который вы собираетесь добавить в CosmosDB, а затем получить длину строки в байтах.

Имейте в виду, что это не будет на 100% точно, потому что космос добавит все свои собственные свойства метаданных, такие как etag и т. Д., Но это достаточно близко.

Стоит сказать, что я лично не рекомендую этот подход, но, вероятно, это самая близкая вещь, которую вы можете получить, если вы хотите получить размер, прежде чем даже добавить его.

0 голосов
/ 07 мая 2018

Я не думаю, что это возможно до создания, во всяком случае, Посмотрите на заголовки, которые возвращаются, когда вы запрашиваете документ, в частности, x-ms-resource-use, который будет содержать атрибут documentsSize

client.readDocument(doc, function (err, doc, headers) {
  ...
})
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...