簡體   English   中英

從 dynamoDB 返回更新的項目

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM