Azure cosmosdb 在DocumentDB中创建附件时出现无效的请求有效负载错误

Azure cosmosdb 在DocumentDB中创建附件时出现无效的请求有效负载错误,azure-cosmosdb,Azure Cosmosdb,我使用的是文档数据库,有些文档可能会变得太大,以至于超过了大小限制(2MB)。我正在尝试将大块存储为附件,下面是我的代码片段: var stringifiedItems = JsonConvert.SerializeObject(doc.Items); var attachmentStream = new MemoryStream(Encoding.UTF8.GetBytes(stringifiedItems)); doc.Attachment = await _client.CreateAtt

我使用的是文档数据库,有些文档可能会变得太大,以至于超过了大小限制(2MB)。我正在尝试将大块存储为附件,下面是我的代码片段:

var stringifiedItems = JsonConvert.SerializeObject(doc.Items);
var attachmentStream = new MemoryStream(Encoding.UTF8.GetBytes(stringifiedItems));
doc.Attachment = await _client.CreateAttachmentAsync(GetDocumentLink(docId), attachmentStream, new MediaOptions()
    {
        ContentType = "application/json",
        Slug = "Items.json"
    });
但是CreateAttachmentAsync()调用总是抛出一个一般错误:

“请求负载无效。请确保提供有效的请求负载。”


有人能告诉我代码中缺少了什么,或者就如何排除故障给出建议吗?

当我们通过
mediapoptions
设置
Content-Type
时,它会设置
Content-Type
HTTP请求头。但是,带有
MemoryStream
参数的方法
CreateAttachmentAsync
将发送不带正文数据的请求,因此这是问题有效负载无效的原因


为了解决这个问题,我们可以使用
application/octet流来上传流对象,而不是将
ContentType
设置为
application/json

非常感谢你!!这就解决了我的问题。@Jiaye如果这篇文章有助于解决问题,你可以接受它作为答案,这样其他有同样问题的社区可以很容易地识别答案。