2017-06-28 41 views
3

table.batch_writer()を実行すると、boto3 APIが挿入されるか更新されますか?DynamoDbバッチ書き込み更新

私はpartition key,sort key are sameを意味しますが、他のattributesは同じではありません。どのドキュメントでもこれが見つかりません。

答えて

2

Boto3は、サービスとしてDynamoDBが提供するBatch Writing functionalityに対応しています。この一括書き込みは、特にPutItem操作とDeleteItem操作を指し、UpdateItemは含まれません。ドキュメントから

BatchWriteItem動作を置き又は1つ以上のテーブルで複数の項目を削除します。 BatchWriteItemを1回呼び出すと、最大16 MBのデータを書き込むことができます。このデータには、最大25個のput要求またはdelete要求を含めることができます。書き込まれる個々の項目は、最大400 KBまでです。

BatchWriteItemは、アイテムを更新することはできません。アイテムを更新するには、UpdateItemアクションを使用します。

は、PutItem operation明らかないずれかの一意(テーブルが定義された方法に基づいてパーティションのみ、またはコンポジットパーティション+ソートキーのいずれか)、そのキーによって識別される項目を、新たな項目を挿入または置き換えします。つまり、アイテムをとして置き換えることを考えてみましょう。は重要ではない属性ですが、更新ではなく置き換えとして考えるのが正しいです。これをアイテムの属性の選択的操作を可能にするUpdateItem APIと比較してください。

プット&アイテムの機能を削除しても、バッチAPIは条件付き書き込みをサポートしていないため、個別のPutItemまたはDeleteItem呼び出しよりも制限があります。 BatchWrite APIは、実際には、HTTPヘッダーに関するネットワークオーバーヘッドを節約するためにバッチロードやデータの一括削除、&のSigV4署名の検証などを生成する追加の計算リソースなどの場合にのみ便利です。

関連する問題