【问题标题】:Batch insert in documentdb using java driver使用java驱动程序批量插入documentdb
【发布时间】:2017-06-08 12:01:07
【问题描述】:

我在 cosmosdb 中使用 java-sdk 进行 CRUD 操作,我能够对员工 DTO 进行基本插入,一切看起来都不错。但是现在我想做批量插入,找不到合适的api。

我遇到了 cosmosdb documentation,他们建议使用存储过程(服务器端 JS),但我更喜欢直接 java 驱动程序选项,就像其他 nosql 提供的那样。

有什么我遗漏的吗?哪个更可取,存储过程或 java 驱动程序选项(如果存在)?下面是我用来插入单个文档的代码 sn-p。

documentClient.createDocument(getCollection().getSelfLink(), document, null, false).getResource();

【问题讨论】:

    标签: azure azure-cosmosdb azure-java-sdk


    【解决方案1】:

    在客户端,您可以对您的集合进行单次写入,就像您目前正在做的那样。没有客户端批量插入 API 调用。

    使用存储过程,您可以将所需的任何有效负载传递给存储过程,然后您可以事务性地将多个文档插入集合(如果使用分区集合,则可以插入一个分区 )。通过对该存储过程的单个客户端调用。

    因此,使用存储过程,您仍然可以进行单个客户端调用,从而有效地完成您特别需要的内容。您只需要适当地设置您的有效负载,以便您的存储过程代码可以分隔要插入的每个单独的文档。

    【讨论】:

    • 感谢您的时间@David,以后有没有计划直接在java-sdk中添加?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-01-22
    • 1970-01-01
    • 1970-01-01
    • 2020-09-02
    • 2013-10-19
    • 1970-01-01
    • 2015-05-18
    相关资源
    最近更新 更多