【问题标题】:DocumentClientException "Request size is too large"DocumentClientException“请求大小太大”
【发布时间】:2015-08-13 10:11:51
【问题描述】:

我创建了 byte.length 过大的 JSON,当我尝试使用 api java 时:

documentClient.createDocument(
                    getTodoCollection().getSelfLink(), document, null,
                    false)

返回一个

DocumentClientException: 消息: {"Errors":["Request size is too large"]}

有什么方法可以将这类文件保存在文档数据库中?

【问题讨论】:

    标签: java azure azure-cosmosdb


    【解决方案1】:

    DocumentDB limits and quotas 页面开始,文档的最大大小可以是512 KB 2 MB。如果您的 JSON 大小超过此值,您将收到此错误。

    如果您的文档大小超过 512 KB 2 MB,则无法将文档按原样保存在 DocumentDB 中。您可以做的一件事是将 Blob 存储中的 JSON 保存为块 Blob,并将 Blob URL 保存在 DocumentDB 中。

    附注出于某种原因,我认为 DocumentDB 中附件的大小是 2 MB,我想建议这样做,但似乎他们也将其更改为 512 KB。

    【讨论】:

    • 另一种潜在的解决方法(取决于您的文档预计会有多大)是不序列化默认值。换句话说,null、false、0 等不会被序列化。在我的具体情况下,这始终将我们的文档大小减少了大约一半。这是使用 .NET SDK,但我确信有一种方法可以不序列化 Java 中的默认值。
    • docs.microsoft.com/en-us/azure/cosmos-db/… 目前,文档的最大大小为 2 MB。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-03-17
    • 1970-01-01
    • 2018-10-20
    • 2019-12-20
    • 1970-01-01
    • 2021-03-15
    相关资源
    最近更新 更多