我有一個Dynamo表,它通過DynamoDBVersionAttribute
使用樂觀鎖定來確保一次只有一個工作者保留一個文檔。但是,當我想清理文檔時,如果我沒有在DynamoDBMapper
中設置版本,刪除就會拋出ConditionalCheckFailedException
。使用版本號樂觀鎖定的表上的強制刪除
在那個時候,我不在乎文件的版本是什麼,我想刪除它,不管它是什麼版本。有沒有辦法強制刪除而不用擔心版本?我想克服這個異常,而不必查詢文檔的Dynamo。
我有一個Dynamo表,它通過DynamoDBVersionAttribute
使用樂觀鎖定來確保一次只有一個工作者保留一個文檔。但是,當我想清理文檔時,如果我沒有在DynamoDBMapper
中設置版本,刪除就會拋出ConditionalCheckFailedException
。使用版本號樂觀鎖定的表上的強制刪除
在那個時候,我不在乎文件的版本是什麼,我想刪除它,不管它是什麼版本。有沒有辦法強制刪除而不用擔心版本?我想克服這個異常,而不必查詢文檔的Dynamo。
除非將版本字段設置爲正確版本,否則無法使用DynamoMapper
刪除Dynamo項目;因此,如果您想要在刪除文檔之前避免發出獲取請求,您必須直接在Dynamo客戶端上使用deleteItem
方法。
您可以通過將SaveBehaviour指定爲CLOBBER而不必擔心版本來刪除該項目。
DynamoDBMapper mapper;
mapper.delete(object, new DynamoDBMapperConfig(DynamoDBMapperConfig.SaveBehavior.CLOBBER)