4

こんにちは、Windows Azure SDK for node を使用していますが、このライブラリを使用してバッチ更新を行う方法がわかりません。

https://github.com/WindowsAzure/azure-sdk-for-node/blob/master/lib/services/table/batchserviceclient.js

それを行う方法の例が見つからなかったので。tableService.js ファイルの isInBatch プロパティを使用してバッチ更新、削除、および挿入を行った人はいますか?

ヘルプやアドバイスをいただければ幸いです。

乾杯

4

1 に答える 1

4

Windows Azure SDK for node github repoで、下のブログの例を見てください/examples/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 が正しく指摘しているように、1 つのエンティティ グループ トランザクションは 100 エンティティに制限されています。また、トランザクションのペイロード全体が 4MB を超えることはありません。エンティティ グループ トランザクションに関するすべての詳細については、この MSDN の記事を参照してください。

于 2012-05-30T03:52:54.500 に答える