如何使用python SQL api在cosmosDB中进行大容量插入

如何使用python SQL api在cosmosDB中进行大容量插入,python,azure,azure-cosmosdb,bulkinsert,azure-cosmosdb-sqlapi,Python,Azure,Azure Cosmosdb,Bulkinsert,Azure Cosmosdb Sqlapi,我想在CosmosDB集合中进行批量插入。但批量插入库仅适用于.NET和Java 我找到了另一种替代方法作为StoredProcedure,但在这一点上,我还必须使用for循环来存储 sproc = { 'id': 'storedProcedure' + str(uuid.uuid4()), 'body': ( 'function (data) {' + ' var client

我想在CosmosDB集合中进行批量插入。但批量插入库仅适用于.NET和Java

我找到了另一种替代方法作为StoredProcedure,但在这一点上,我还必须使用for循环来存储

sproc = {
            'id': 'storedProcedure' + str(uuid.uuid4()),
            'body': (
                'function (data) {' +
                '   var client = getContext().getCollection();' +
                '   client.createDocument(client.getSelfLink(), data, {}, function(err, docCreated, options) { ' +
                '   if(err) throw new Error(\'Error while creating document: \' + err.message);' +
                '   else {' +
                         '   getContext().getResponse().setBody(1);' +
                '        }' +
                '   });}')
        }

created_sproc = client.CreateStoredProcedure(coll_link, sproc)
proc_id = sproc['id']
proc_query = "select * from r where r.id = '{0}'".format(proc_id)
proc = list(client.QueryStoredProcedures(coll_link, proc_query))[0]
proc_link = proc['_self']
print(proc)

client.ExecuteStoredProcedure(proc_link, [data])


python中的bulk executor还有其他选择吗?

通常我只是循环文档以将它们插入cosmos数据库,这太耗时了。由于必须执行n次写入操作,因此我们必须连接到DB n次。在我的例子中,存储过程工作得很好。