【问题标题】:Bulk Import using nodeJS with Azure DocumentDB. Partition Key issue使用带有 Azure DocumentDB 的 nodeJS 批量导入。分区键问题
【发布时间】:2017-05-16 21:03:48
【问题描述】:

我正在尝试使用 Node.js 将大量数据批量导入 DocumentDB。我已经创建了推荐的存储过程(已在此处和 MSDN 上多次发布的存储过程)。但是,当我尝试通过 Node 执行它时,我得到以下响应:“来自脚本的请求不能引用除提交客户端请求的分区键之外的分区键。”

Collection 上的 partitionKey 是“/id”,我在 Node 中的请求是这样的:

client.executeStoredProcedure('dbs/blah/blah/sprocs/blah', [docs], {partitionKey: '/id'}, ...);

我找不到任何关于此的简明文档,因为它专门与 Node 相关。有没有人遇到过这个问题并且有解决方案吗?我完全接受我犯了一个愚蠢的错误的想法,但这是我第一次使用 DocumentDB 进行牛仔竞技表演。谢谢大家

【问题讨论】:

    标签: node.js azure azure-cosmosdb


    【解决方案1】:

    我怀疑您尝试导入的数据集中包含/id 而非您指定的数据。如果是这样的话,我可以想到两个选择:

    1. 不要使用 sproc 并从您的 node.js 脚本中一次加载一个。我建议使用其中一个 async.js 函数或其他一些并行化库中的等效函数,这样您就可以并行处理许多请求。

    2. 你可以用/id分隔数据客户端,然后为每个集合调用sproc。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-05-21
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多