您好我使用的是Windows Azure SDK for node,但无法弄清楚如何使用此库进行批量更新:
因为我找不到任何关于如何做的例子。有没有人使用tableService.js文件的isInBatch属性来进行批量更新,删除和插入?
任何帮助或建议都将不胜感激。
干杯
答案 0 :(得分:4)
在Windows Azure SDK for node github repo中,查看/examples/blog
下的Blog示例。具体而言,blog.js。在这里,您将看到示例代码,从第91行开始,在实体组事务中将一系列博客文章写入同一分区:
provider.tableClient.beginBatch();
var now = new Date().toString();
provider.tableClient.insertEntity(tableName, { PartitionKey: partition, RowKey: uuid(), title: 'Post one', body: 'Body one', created_at: now });
provider.tableClient.insertEntity(tableName, { PartitionKey: partition, RowKey: uuid(), title: 'Post two', body: 'Body two', created_at: now });
provider.tableClient.insertEntity(tableName, { PartitionKey: partition, RowKey: uuid(), title: 'Post three', body: 'Body three', created_at: now });
provider.tableClient.insertEntity(tableName, { PartitionKey: partition, RowKey: uuid(), title: 'Post four', body: 'Body four', created_at: now });
provider.tableClient.commitBatch(function () {
console.log('Done');
注意关于分区的观点。这是您可以在单个事务中编写多个实体的唯一方法:它们必须位于同一个分区中。
编辑 - 正如@Igorek正确指出的那样,单个实体组交易仅限于100个实体。此外,事务的整个有效负载不得超过4MB。有关实体组事务的所有详细信息,请参阅this MSDN article。