如何在Azure Cosmos DB中插入20 mb的消息 - Document DB API

时间:2017-10-15 18:59:50

标签: c# .net azure azure-cosmosdb

我们要求我们的应用程序处理事务中最多20 MB的传入消息请求。此消息结构良好,具有嵌套对象和数组。我们计划使用Azure Cosmos DB(Document DB API)作为我们的数据库。由于Document DB的最大文档大小限制为2 MB,因此我们将消息数据建模为存储在多个文档中。我们尝试使用Javascript存储过程在事务中插入所有这些文档,但SP对请求大小有大小限制(2 MB)。

任何人都可以帮助我们如何在事务中保存与20 MB消息相关的所有文档(保存全部或不保存)?

我遇到的一种方法是独立保存文档,并编写一个存储过程来识别和删除它们,以防其中一个写入失败。 我想知道这是否是我们方案中最好的方法。

编辑:我正在考虑的另一种可行方法 - 将20 MB邮件上传到blob存储中,并从SP内部访问它以进行拆分和插入。但我无法找到从javascript SP访问blob的方法(SP中不允许XMLHttpRequest)

1 个答案:

答案 0 :(得分:1)

您是否了解过Azure Cosmos DB的attachments功能?这将是一种比实现自己的事务语义更简单的方法。您应该只存储在文档中查询所需的属性,然后将20MB完整文档存储为附件。

相关问题