Get document size in Cosmos DB

If you get (or query) a document, you can then look at the headers that come back, specifically x-ms-resource-usage, which will contain a documentsSize attribute (representing a document's size in kb).

In node/javascript, you'd make a call that looks something like:

client.readDocument(docLink, function (err, doc, headers) {
  ...
})

You'd want to look at headers['x-ms-resource-usage'].


Here is the way how to find the largest document in the collection. I used two queries in Azure's data explorer

  1. To get the size of the largest document SELECT MAX(a.length) FROM ( SELECT LENGTH(ToString(c)) AS length FROM c ) a

  2. To retrieve the body of the largest document (The a.length value should be compared to the length returned from the previous query SELECT TOP 1 a.c FROM ( SELECT LENGTH(ToString(c)) AS length, c FROM c ) a WHERE a.length = 382725

Then when running the second query you can peek the Query Stats tab to see the exact size of the document.