Dynamo DB の項目から属性を削除する最良の方法を見つけようとしています。以下は私が試したものですが、DELETEはタイプNまたはSのいずれでもサポートされていないという例外が発生します。
スレッド「メイン」ステータス コードの例外: 400、AWS サービス: AmazonDynamoDB、AWS リクエスト ID: 09MRO4PVTJ8IK6OHLKSM551REJVV4KQNSO5AEMVJF66Q9ASUAAJG、AWS エラー コード: ValidationException、AWS エラー メッセージ: 1 つ以上のパラメーター値が無効でした: アクション DELETE は、タイプ N ではサポートされていませんcom.amazonaws.http.AmazonHttpClient.handleErrorResponse(AmazonHttpClient.java:544) com.amazonaws.http.AmazonHttpClient.executeHelper(AmazonHttpClient.java:284) com.amazonaws.http.AmazonHttpClient.execute(AmazonHttpClient.java:169) >com.amazonaws.services.dynamodb.AmazonDynamoDBClient.invoke(AmazonDynamoDBClient.java:675) で >com.amazonaws.services.dynamodb.AmazonDynamoDBClient.updateItem(AmazonDynamoDBClient.java:371) で
Key pk = new Key(new AttributeValue().withN(Long.toString(123)));
AttributeValueUpdate avu = new AttributeValueUpdate(new AttributeValue().withN("555"), "DELETE");
Map<String, AttributeValueUpdate> m = new HashMap<String, AttributeValueUpdate>();
m.put(String.valueOf(555), avu);
UpdateItemRequest uir = new UpdateItemRequest("users", pk, m);
dynamoDB.updateItem(uir);
紛らわしい点の 1 つは、なぜ属性値が削除にとって重要なのかということです。属性名とそれに関連付けられた値を削除したいのですが、SDK でそれを行う適切な方法が見つかりませんでした。
助けていただければ幸いです。