5
votes

DynamodB: Comment mettre à jour la clé de tri?

La table a deux clés: filename (clé de partition) et eventTime (clé de tri). Je souhaite mettre à jour eventTime pour certains filename . J'ai essayé put_item () et update_item () en envoyant le même nom de fichier avec le nouvel eventTime mais ces fonctions ajoutent un nouvel élément au lieu de mise à jour.

Que dois-je utiliser à cette fin?


0 commentaires

3 Réponses :


14
votes

Vous ne pouvez pas. Puisqu'il fait partie de l'index, le champ est protégé. Ce que vous devez faire pour supprimer l'élément et l'ajouter à nouveau avec la nouvelle clé de tri.

Voir https://docs.aws.amazon.com/amazondynamodb /latest/APIReference/API_AttributeValueUpdate.html


0 commentaires

-1
votes

Dans DynamoDB, vous pouvez effectuer une mise à jour conditionnelle sur un élément existant (insérer une nouvelle paire nom-valeur d'attribut si elle n'existe pas, ou remplacer une paire nom-valeur existante si elle a certaines valeurs d'attribut attendues). Reportez-vous à la documentation officielle ici: https://docs.aws.amazon.com/amazondynamodb/latest/ APIReference / API_UpdateItem.html

Vous pouvez également envisager d'utiliser les clés de tri de la bonne manière. Veuillez consulter la documentation suggérée ici: https://docs.aws.amazon.com/ amazondynamodb / latest / developerguide / bp-sort-keys.html


0 commentaires

0
votes

Selon DynamoDB / AttributeValueUpdate docs aws:

Vous ne pouvez pas utiliser UpdateItem pour mettre à jour des attributs de clé primaire. Au lieu de cela, vous devrez supprimer l'élément, puis utiliser PutItem pour créer un nouvel élément avec de nouveaux attributs.


0 commentaires