4

DynamoDBテーブルの属性値を「」に更新するにはどうすればよいですか?

1つのオプションは、アイテムをドキュメントに取得し、値が「」に更新される属性を除くすべての属性を新しいドキュメントにコピーしてからputitemを呼び出すことです。これにより、基本的にアイテム全体が置き換えられます(ハッシュキーが存在するため)。 )そして私はもう属性を持っていないのでそれは削除されるでしょう。

注:アイテムの削除を行うこともできますが、複数の属性値を更新する必要があり、そのうちの1つは空白です。

もしあれば、私にもっと良いアプローチを提案してください。

前もって感謝します。

4

2 に答える 2

6

DynamoDBでは、UpdateItemRequest(Java SDK)を使用して、既存の行を更新できます。

次の例のように:

Map<String, AttributeValueUpdate> updateItems = new HashMap<String, AttributeValueUpdate>();

updateItems.put("columnToRemove", new AttributeValueUpdate()
                                      .withAction(AttributeAction.DELETE));

updateItems.put("columnToRemove2", new AttributeValueUpdate()
                                      .withAction(AttributeAction.DELETE));

UpdateItemRequest updateItemRequest = new UpdateItemRequest()
                                          .withTableName(tableName)
                                          .withKey(itemKey)
                                          .withAttributeUpdates(updateItems);

UpdateItemResult result = client.updateItem(updateItemRequest);
于 2012-03-30T20:02:45.767 に答える
1

このようなこともできます

Table table = dynamoDB.getTable("myTable");
table.updateItem(new PrimaryKey("<MY HASH KEY NAME>", <MY HASH VALUE>), new AttributeUpdate("columnToRemove").delete());
于 2015-09-14T13:34:49.517 に答える