Estoy tratando de insertar en dynamo DB. Cuando llamo a la función putItem, ¿qué pasará si la clave hash ya está presente en el DB? ¿El objeto PutItemResult contiene algo que nos puede decir si se intentó una entrada de hash duplicada? Quiero evitar ejecutar otra consulta para verificar si hay una entrada con la clave hash que estoy usando.¿qué pasará si lo insertamos en dinamo DB con una clave hash duplicada?
Respuesta
Si inserta un elemento en una clave principal existente, se sobrescribirá a menos que utilice los "valores esperados". Aquí está la introducción de la documentación oficial:
http://docs.amazonwebservices.com/amazondynamodb/latest/developerguide/API_PutItem.html
crea un nuevo elemento, o reemplaza un elemento de edad con un nuevo elemento (incluyendo todos los atributos). Si un elemento ya existe en la tabla especificada con la misma clave principal, el nuevo elemento reemplaza completamente el elemento existente. Puede realizar una colocación condicional (insertar un nuevo elemento si no existe uno con la clave primaria especificada), o reemplazar un elemento existente si tiene ciertos valores de atributo.
Nota
Para garantizar que un nuevo elemento no pretende sustituir un elemento existente, utilice un condicional operación put con existe establece en false para el atributo clave primaria o atributos.
De lo contrario, también se puede utilizar para actualizar UpdateItem
campos de un elemento preexistente: http://docs.amazonwebservices.com/amazondynamodb/latest/developerguide/API_UpdateItem.html
Creo que la forma más segura de crear un artículo es nunca usar putItem y siempre usar UpdateItem. en mi caso uso updateItem solo con las teclas para crear un objeto, si ya sale no hace nada. –
Puede utilizar 'withReturnValues (ReturnValue.ALL_OLD)' que devolverá un mapa a partir de la PutItemResult.getAttributes valores que estaban allí antes de la inserción.
Si PutItemResult.getAttributes devuelve nulo, era una entrada nueva.
- 1. ¿Qué pasará con Office VBA?
- 2. MySQL Insertar de clave duplicada
- 3. ¿Qué pasará si se elimina este en C++
- 4. ¿Qué pasará con los datos existentes si cambio la intercalación de una columna en MySQL?
- 5. ¿Excepción de clave duplicada de Entity Framework?
- 6. Si no se borra la variable ThreadLocal, ¿qué pasará?
- 7. inserción de MySQL en clave duplicada; ¿borrar?
- 8. MySQL en actualización de clave duplicada
- 9. condicional en la actualización de clave duplicada
- 10. Django - save() actualización en clave duplicada
- 11. ¿Ha olvidado la clave duplicada?
- 12. Hash MD5 dado una clave en C#
- 13. Comprueba si hash tiene una clave que contiene texto
- 14. En Java, si un hilo se mata, ¿qué pasará con el otro hilo?
- 15. ignorar inserción de filas que infringen índice de clave duplicada
- 16. En Ruby or Rails, hash.merge ({: order => 'asc'}) puede devolver un nuevo hash con una nueva clave. ¿Qué puede devolver un nuevo hash con una clave eliminada?
- 17. Entrada duplicada '2147483647' para la clave 1
- 18. ¿Qué pasará, cuando el tamaño del db de mongodb sea mayor que la RAM?
- 19. Ruby 1.9 hash con un guión en una clave
- 20. Actualización de clave duplicada - Varias columnas
- 21. ¿Qué es lo más parecido a hash en Erlang?
- 22. ¿Cómo reemplazar una clave hash Perl?
- 23. entrada duplicada '0' para la clave 1 en mysql
- 24. tabla hash con la clave número entero en Java
- 25. Symfony2: FOS_Userbundle ¿Definición duplicada al actualizar el esquema db?
- 26. ¿Busca el nombre de la clave en hash con solo una clave?
- 27. ¿Cómo saber si al usar "en la actualización de clave duplicada" se insertó o actualizó una fila?
- 28. cómo recuperarse de clave duplicada en mangosta + expresan
- 29. Entrada duplicada para la clave 'PRIMARY' en mysql
- 30. hash de ruby agregar clave/valor si modificador
¿Estás usando un marco específico? – yadutaf