[英]Returning updated item from dynamoDB
我正在使用 dynamoDB ExpressionSpecBuilder
(Java) 為數據庫中的項目創建更新查詢。 我希望返回整個修改后的資源,而不必單獨指定所有屬性。
有沒有辦法做到這一點?
如果您被迫使用ExpressionSpecBuilder
,我找不到任何方法。
但是,還有其他替代方法,例如UpdateItemRequest
,您可以在其中將ReturnValues
屬性設置為ALL_NEW
並將所有屬性獲取為 map:
UpdateItemRequest updateProgramCounterRequest = new UpdateItemRequest()
.withTableName(...)
.withUpdateExpression(...)
.withReturnValues(ReturnValue.ALL_NEW);
UpdateItemResult updateItemResult = amazonDynamoDB.updateItem(updateItemRequest);
Map<String, AttributeValue> attributes = updateItemResult.getAttributes();
然后你可以 map 他們到你的資源。
更高級別的方法是使用 DynamoDBMapper。 根據您需要執行的更新類型,您也可以使用save
方法並修改DynamoDBMapperConfig.SaveBehavior
屬性來實現它,如 javadoc 中所述: https://docs.aws.amazon.com/AWSJavaSDK/latest/ javadoc/com/amazonaws/services/dynamodbv2/datamodeling/DynamoDBMapper.html#save-T-com.amazonaws.services.dynamodbv2.datamodeling.DynamoDBSaveExpression-com.amazonaws.services.dynamodbv2.datamodeling.DynamoDBMapperConfig-
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.