如何在單個查詢中更新DynamoDB中的多個記錄? 我有一個csv文件作爲基於csv文件的輸入,我必須更新數據庫中的多個記錄(只有一個屬性)。 有沒有可用的API?或者這可以使用批處理(Spring-batch)來完成?在DynamoDB中更新多條記錄
1
A
回答
3
DynamoDB直接沒有batchUpdate
API。它確實有batch get item
和batch write item
API。
但是,您可以使用batchWriteItem
API更新該項目。
1)使用下面BatchWriteItemSpec
類構建請求
2)使用以下TableWriteItems
類構造一個需要被更新的項目
3 )使用下面的addItemToPut
方法(或withItemsToPut
)添加新屬性
的batchWriteItem
API創建一個新的項,如果該項目(即分區鍵)不可用。如果分區鍵可用,它將更新現有項目。你的用例屬於這個類別。
代碼示例: -
文件 - 是表名
文件名 - 分區鍵
transcriptionnew - 添加新的屬性(或者可以更新現有屬性值)
DynamoDB dynamoDB = new DynamoDB(dynamoDBClient);
Item itemUpdate1 = new Item();
itemUpdate1.withKeyComponent("fileName", "file1")
.withString("transcriptionnew", "new value");
Item itemUpdate2 = new Item();
itemUpdate2.withKeyComponent("fileName", "file2")
.withString("transcriptionnew", "new value");
TableWriteItems tableWriteItems = new TableWriteItems("files").withItemsToPut(itemUpdate1, itemUpdate2);
BatchWriteItemSpec batchWriteItemSpec = new BatchWriteItemSpec().withTableWriteItems(tableWriteItems);
BatchWriteItemOutcome batchWriteItemOutCome = dynamoDB.batchWriteItem(batchWriteItemSpec);
if (batchWriteItemOutCome.getUnprocessedItems().isEmpty()) {
//All items are processed
return true;
}
相關問題
- 1. Mongoid更新多條記錄
- 2. 更新多條記錄
- 3. 更新MySQL中的多條記錄
- 4. 多個線程可以同時更新DynamoDB中的記錄嗎?
- 5. Linq to sql更新記錄列表中的多條記錄
- 6. 如何顯示多條記錄的最新更新記錄
- 7. 更新多條記錄外生2.0
- 8. Dynamics CRM Linq更新多條記錄
- 9. asp.net mvc更新多條記錄
- 10. linq查詢更新多條記錄
- 11. QuickBlox customObject更新多條記錄權限
- 12. CakePHP:使用hasMany更新多條記錄
- 13. CakePHP的2更新多條記錄
- 14. 使用FormView/UpdateView更新多條記錄
- 15. SQL查詢 - 更新同一表中的1條記錄中的多條記錄
- 16. 從多個更新查詢中返回一條「記錄更新」
- 17. 在cakephp中更新100+條記錄2x
- 18. DynamoDB上的條件更新
- 19. 在Rails中的一個ActiveRecord事務中更新多條記錄
- 20. 更新oracle中多個嵌套表中的多條記錄
- 21. MYSQL將多條記錄中的記錄除外最新記錄
- 22. SQL更新兩條記錄
- 23. 更新從表中每條記錄與多個記錄多列每個ID
- 24. 如何在Ruby on Rails中一次更新多條記錄?
- 25. 在一個數據庫調用中更新多條記錄
- 26. 在單個查詢中更新多條記錄MS SQL
- 27. 使用光標在plsql中更新多條記錄
- 28. 如何顯示更新查詢更新了多少條記錄?
- 29. 想用更新觸發器更新多條記錄
- 30. 在Sails.js中更新多個MongoDB記錄