我一直在試圖從表中DynamoDB通過Java代碼刪除項目,但每次嘗試我做的同樣的錯誤結果:無法從DynamoDB表(JAVA)刪除項目
com.amazonaws.AmazonServiceException: The provided key element does not match the schema (Service: AmazonDynamoDBv2; Status Code: 400; Error Code: ValidationException;
我現在的嘗試是很簡單的,看起來像這樣:
final DynamoDB dynamoDB = new DynamoDB(new AmazonDynamoDBClient(credentials));
Table table =dynamoDB.getTable(tableName);
DeleteItemSpec itemSpec = new DeleteItemSpec().withPrimaryKey("cognitoId", cognitoId);
table.deleteItem(itemSpec);
表名僅僅是表名,憑據已經被證實是正確的,並且COGN itoId是我試圖刪除的項目的實際ID。有問題的表格有cognitoId
作爲主鍵,我不明白爲什麼刪除與模式不匹配。該表還有一個排序鍵或範圍鍵(我不確定它是什麼,因爲文檔非常模糊)。我一直指的是這裏的文檔: http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/WorkingWithTables.html#WorkingWithTables.primary.key
這[使用主鍵刪除項目(http://stackoverflow.com/questions/27455709/how-to-delete-record-using-primarykey- in-dynamodb)應該可以幫助你解決問題。 –
嘗試使用'''deleteItem(String hashKeyName,Object hashKeyValue)''' –