在Cosmos DB中获取文档大小

时间:2017-10-19 04:30:20

标签: javascript azure azure-cosmosdb

如何获取或计算存储在Cosmos DB中的文档大小?

这个东西是否已存储在文档中?

3 个答案:

答案 0 :(得分:4)

如果您获取(或查询)文档,则可以查看返回的标题,特别是x-ms-resource-usage,其中包含documentsSize属性(表示文档的大小,单位为kb)。

在node / javascript中,您将进行类似以下的调用:

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

您想查看headers['x-ms-resource-usage']

答案 1 :(得分:2)

这是在集合中查找最大文档的方式。我在Azure的数据浏览器中使用了两个查询

  1. 获取最大文档SELECT MAX(a.length) FROM ( SELECT LENGTH(ToString(c)) AS length FROM c ) a

    的大小
  2. 要检索最大文档的正文(应将a.length值与上一个查询SELECT TOP 1 a.c FROM ( SELECT LENGTH(ToString(c)) AS length, c FROM c ) a WHERE a.length = 382725返回的长度进行比较

然后,当运行第二个查询时,您可以查看“查询统计信息”选项卡以查看文档的确切大小。

答案 2 :(得分:0)

根据我的经验,azure cosmosdb中创建的所有资源都将自动生成以下属性:

_rid

_etag

_ts

_self

id

您可以从here找到这些属性的含义。

此外,index strategy也会占用宇宙数据库中的空间。

我在REST API搜索Azure Cosmos数据库但未找到该方法直接获取文档大小。

但是,cosmosdb中的查询消耗RU和RU与文档大小相关。您可以参考此article中提到的列表。

在门户网站上搜索文档时,请检查RU

enter image description here

你也可以参考这个thread,也许它对你有一些影响。

希望它对你有所帮助。