web-dev-qa-db-fra.com

Comment renommer une table DynamoDB

J'ai une table DynamoDB et je voudrais la renommer. Il ne semble pas y avoir de commandes ou d'options pour renommer une table. Quelqu'un a-t-il renommé une table auparavant?

35
Gowtham

Actuellement non, vous devez créer une nouvelle table et copier les données de l'une à l'autre si vous avez vraiment besoin d'un nouveau nom de table.

30
E.J. Brennan

Vous pouvez utiliser la fonction Exporter/Importer pour sauvegarder vos données sur S3. Supprimez ensuite votre ancienne table et créez-en une nouvelle avec le nouveau nom. Importez vos données depuis S3. Terminé. Aucun changement de code nécessaire. Si vous ne supprimez pas les alarmes et les pipelines CloudWatch lors de la suppression de l'ancienne table, celles-ci seront automatiquement connectées à la nouvelle table. L'ARN reste même le même.

L'inconvénient de cela, bien sûr, est que la table sera inutilisable pendant le temps après sa suppression et avant sa recréation. Cela peut ou non être un problème, mais cela doit être pris en considération. En outre, une fois que vous avez recréé la table, vous pouvez y accéder pendant que vous travaillez sur l'importation de données. Vous souhaiterez peut-être arrêter l'accès de votre application à la table jusqu'à la fin de l'importation.

9
Daniel Phelps

Je sais que c'est une vieille question et je ne veux pas voler le tonnerre de la réponse de user6500852 mais pour tous ceux qui trébuchent sur ce besoin d'une réponse:

  1. Sélectionnez le tableau que vous souhaitez renommer dans l'interface utilisateur Web afin qu'il soit mis en surbrillance et que les différents onglets apparaissent à droite.

  2. Cliquez sur l'onglet Sauvegardes et régalez vos yeux de la moitié inférieure de la page ("Sauvegarde et restauration à la demande").

Backup Area 3. Détruisez ce bouton "Créer une sauvegarde". Vous serez invité à entrer un nom de sauvegarde. Nommez-le comme vous voulez. Le monde vous appartient!

  1. Donnez-lui le temps de terminer la sauvegarde. Si vous n'avez que quelques enregistrements, ce ne sera que quelques secondes. Si vous avez une tonne d'enregistrements, cela peut prendre des heures. Attachez votre ceinture ou rentrez chez vous et reposez-vous.

  2. Une fois la sauvegarde prête, mettez-la en surbrillance dans la liste. Vous verrez le bouton "Restaurer la sauvegarde" s'allumer. Cliquez dessus.

  3. Vous recevrez une invite vous demandant de saisir le NOUVEAU nom de table. Entrez le nom auquel vous souhaitez renommer ce tableau. Remarque: la façon dont l'interface utilisateur est, vous devrez peut-être cliquer hors du champ dans la zone de page statique pour que le bouton "Restaurer la table" en bas de la page s'allume. Restore Form

  4. Une fois que vous êtes prêt à partir, vous cliquez sur le bouton "Restaurer la table". Notez les informations sur cette page indiquant que cela peut prendre plusieurs heures. Ma table avec seulement cinq enregistrements de test a pris plus de 10 minutes à restaurer. Je pensais que c'était parce que l'original était une table globale mais la table restaurée n'était PAS configurée comme une table globale (ce qui va à l'encontre de l'objectif de ceci pour les tables globales car vous devez vider la table pour la rendre globale).

Gardez à l'esprit cette dernière note! Si vous travaillez avec une table globale, vous perdrez la partie globale après la restauration. Acheteur, méfiez-vous! Vous devrez peut-être envisager une exportation et une importation via Data Pipeline ...

Si vous ne l'êtes pas, alors la sauvegarde et la restauration est un processus assez facile à utiliser (sans avoir à configurer un pipeline, un magasin S3, etc.). Cela peut prendre du temps.

J'espère que cela aide quelqu'un!

6
KenLFG

Vous devriez pouvoir y parvenir en utilisant la fonctionnalité de sauvegarde/restauration à la demande.

Découvrez comment sauvegarder une table et restaurez-la dans une nouvelle table:

https://www.abhayachauhan.com/2017/12/dynamodb-scheduling-on-demand-backups/

5
Abhaya Chauhan

Créez la première sauvegarde à partir de l'onglet de sauvegarde. Lors de la création de la sauvegarde de restauration, il invite à la demande d'un nouveau nom de table.

En ce sens, nous pouvons appliquer un nouveau nom de table de sauvegarde.

J'espère que cela vous aidera.

3
user6500852