J'essaie d'insérer dans la base de données dynamo. Lorsque j'appelle la fonction putItem, que se passera-t-il si la clé de hachage est déjà présente dans la base de données? L'objet PutItemResult contient-il quelque chose qui peut nous dire si une entrée de hachage en double a été tentée? Je souhaite éviter d'exécuter une autre requête pour vérifier s'il existe une entrée avec la clé de hachage que j'utilise.
Si vous insérez un élément sur une clé primaire existante, il sera écrasé sauf si vous utilisez les "valeurs attendues". Voici l'introduction de la documentation officielle:
http://docs.amazonwebservices.com/amazondynamodb/latest/developerguide/API_PutItem.html
Crée un nouvel élément ou remplace un ancien élément par un nouvel élément (y compris tous les attributs). Si un élément existe déjà dans la table spécifiée avec la même clé primaire, le nouvel élément remplace complètement l'élément existant. Vous pouvez effectuer un put conditionnel (insérer un nouvel élément s'il n'existe pas avec la clé primaire spécifiée) ou remplacer un élément existant s'il a certaines valeurs d'attribut.
Remarque
Pour vous assurer qu'un nouvel élément ne remplace pas un élément existant, utilisez une opération de mise conditionnelle avec Exists défini sur false pour l'attribut ou les attributs de clé primaire.
Sinon, vous pouvez également utiliser UpdateItem
pour mettre à jour les champs d'un élément préexistant: http://docs.amazonwebservices.com/amazondynamodb/latest/developerguide/API_UpdateItem.html
Vous pouvez utiliser 'withReturnValues (ReturnValue.ALL_OLD)' qui retournera une carte de PutItemResult.getAttributes des valeurs qui étaient là avant l'insertion.
Si PutItemResult.getAttributes renvoie null, il s'agissait d'une nouvelle entrée.