Adrián, parte de este staff, nos ha hecho el favor de crear esta reseña ya que domina perfectamente este tema.
Solución:
los save()
El método realizará el putItem
o updateItem
en base al valor establecido en GuardarComportamiento. Consulte la siguiente descripción. No hay un método de actualización en la clase DynamoDBMapper por este motivo. Sin embargo, hay un método de eliminación separado disponible.
Guarda un elemento en DynamoDB. El método de servicio utilizado está determinado por el valor de DynamoDBMapperConfig.getSaveBehavior(), para utilizar AmazonDynamoDB.putItem(PutItemRequest) o AmazonDynamoDB.updateItem(UpdateItemRequest):
ACTUALIZAR (predeterminado):
ACTUALIZAR no afectará a los no modelados attributes en una operación de guardar y una
null valor para el modelo attribute lo eliminará de ese elemento en DynamoDB. Debido a la limitación de la solicitud updateItem, la implementación de UPDATE enviará una solicitud putItem cuando un key-solo se está guardando el objeto, y enviará otra solicitud updateItem si el dado key(s) ya existe en la tabla.ACTUALIZAR_SKIP_NULL_ATTRIBUTES: Similar a UPDATE excepto que ignora cualquier null valor attribute(s) y NO los eliminará de ese elemento en DynamoDB. También garantiza enviar solo una solicitud de updateItem, sin importar el objeto. key-solo o no.
CLOBBER: CLOBBER borrará y reemplazará todos attributes, incluidos los no modelados, (eliminar y recrear) al guardar. Las restricciones de campos versionados también se ignorarán. Todas las opciones especificadas en el parámetro saveExpression se superpondrán a cualquier restricción debido a las versiones. attributes.
Ejemplo de uso:-
DynamoDBMapperConfig dynamoDBMapperConfig = new DynamoDBMapperConfig(SaveBehavior.UPDATE);
ACTUALIZAR El constructor DynamoDBMapperConfig (aws sdk 1.11.473) parece estar en desuso y se debe usar el constructor en su lugar:
DynamoDBMapperConfig dynamoDBMapperConfig = new DynamoDBMapperConfig.Builder()
.withConsistentReads(DynamoDBMapperConfig.ConsistentReads.CONSISTENT)
.withSaveBehavior(DynamoDBMapperConfig.SaveBehavior.UPDATE)
.build();
dynamoDBMapper.save(yourObject, dynamoDBMapperConfig);
Reseñas y valoraciones
Ten en cuenta compartir este escrito si te fue de ayuda.