Azure cosmosdb cosmosdb项目的大小限制是多少?

Azure cosmosdb cosmosdb项目的大小限制是多少?,azure-cosmosdb,Azure Cosmosdb,我一直在寻找azure cosmosdb限制的权威来源,但我找不到。特别是,我需要知道单个项目的大小限制。当前文档的最大大小是2MB 所以这是文档中经常让我烦恼的事情之一。 当然是2MB,但谁是测量棒 TLDR:2090014和2100014之间 编码.UTF8.GetByteCount(doc)或 Encoding.ASCII.GetByteCount(doc) 为了达到目的,我设置了以下代码: for (int i = 10; i < 10000; i++) {

我一直在寻找azure cosmosdb限制的权威来源,但我找不到。特别是,我需要知道单个项目的大小限制。

当前文档的最大大小是2MB


所以这是文档中经常让我烦恼的事情之一。
当然是2MB,但谁是测量棒

TLDR:2090014和2100014之间 编码.UTF8.GetByteCount(doc)或 Encoding.ASCII.GetByteCount(doc)

为了达到目的,我设置了以下代码:

 for (int i = 10; i < 10000; i++)
        {
            var docItem = new TestItem(new string('A', i * 10000));
            string doc = JsonConvert.SerializeObject(docItem);
            log.LogInformation(" ");
            log.LogInformation(" -------------------------------------------------------------------------------------------------------------------------------------");
            log.LogInformation($" -------------------------------------------------        Doc Size = {i*10000 }       --------------------------------------------------");
            log.LogInformation(" -------------------------------------------------------------------------------------------------------------------------------------");
            
            log.LogWarning($"UTF7 - {Encoding.UTF7.GetByteCount(doc)}");
            log.LogWarning($"UTF8 - {Encoding.UTF8.GetByteCount(doc)}");
            log.LogWarning($"UTF32 - {Encoding.UTF32.GetByteCount(doc)}");
            log.LogWarning($"Unicode - {Encoding.Unicode.GetByteCount(doc)}");
            log.LogWarning($"Ascii - {Encoding.ASCII.GetByteCount(doc)}");
            log.LogInformation(" -------------------------------------------------------------------------------------------------------------------------------------");
            log.LogWarning($"UTF7 - {ASCIIEncoding.UTF7.GetByteCount(doc)}");
            log.LogWarning($"UTF8 - {ASCIIEncoding.UTF8.GetByteCount(doc)}");
            log.LogWarning($"UTF32 - {ASCIIEncoding.UTF32.GetByteCount(doc)}");
            log.LogWarning($"Unicode - {ASCIIEncoding.Unicode.GetByteCount(doc)}");
            log.LogWarning($"Ascii - {ASCIIEncoding.ASCII.GetByteCount(doc)}");
            try
            {
                await cosmosStore.CreateDocumentAsync(docItem);
            }
            catch (Exception e)
            {
                log.LogWarning(e.Message + "Caught");
            }
        }
for(int i=10;i<10000;i++)
{
var docItem=newtestitem(新字符串('A',i*10000));
字符串doc=JsonConvert.SerializeObject(docItem);
日志信息(“”);
log.LogInformation(“----------------------------------------------------------------------------------------------------------------------------------------”;
log.LogInformation($“-------------------------------------------------------------文档大小={i*10000}----------------------------------------------------”;
log.LogInformation(“----------------------------------------------------------------------------------------------------------------------------------------”;
LogWarning($“UTF7-{Encoding.UTF7.GetByteCount(doc)}”);
LogWarning($“UTF8-{Encoding.UTF8.GetByteCount(doc)}”);
LogWarning($“UTF32-{Encoding.UTF32.GetByteCount(doc)}”);
LogWarning($“Unicode-{Encoding.Unicode.GetByteCount(doc)}”);
LogWarning($“Ascii-{Encoding.Ascii.GetByteCount(doc)}”);
log.LogInformation(“----------------------------------------------------------------------------------------------------------------------------------------”;
LogWarning($“UTF7-{ascienceoding.UTF7.GetByteCount(doc)}”);
LogWarning($“UTF8-{ascienceoding.UTF8.GetByteCount(doc)}”);
LogWarning($“UTF32-{ascienceoding.UTF32.GetByteCount(doc)}”);
LogWarning($“Unicode-{ascienceoding.Unicode.GetByteCount(doc)}”);
LogWarning($“Ascii-{ASCIIEncoding.Ascii.GetByteCount(doc)}”);
尝试
{
等待cosmosStore.CreateDocumentAsync(docItem);
}
捕获(例外e)
{
log.LogWarning(e.Message+“捕获”);
}
}
这就是它的破裂之处:

有没有办法知道您文档的大小?它实际上是序列化文档的大小JSON@amuliar但是2mb的Gzip?没有空格?UTF-8?等等:“如果您得到(或查询)一个文档,您可以查看返回的标题,特别是
x-ms-resource-usage
,其中将包含
documentsSize
属性(以kb表示文档的大小)。”文档已经更新,现在可以在此处找到配额: