Utilisez le AWS CLI pour recréer une AWS Glue base de données et ses tables - Amazon Athena

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Utilisez le AWS CLI pour recréer une AWS Glue base de données et ses tables

Il n'est pas possible de renommer directement une AWS Glue base de données, mais vous pouvez copier sa définition, modifier la définition et utiliser la définition pour recréer la base de données sous un autre nom. De même, vous pouvez copier les définitions des tables de l'ancienne base de données, modifier les définitions et utiliser les définitions modifiées pour recréer les tables de la nouvelle base de données.

Note

La méthode présentée ne copie pas le partitionnement des tables.

La procédure suivante pour Windows suppose que vous êtes AWS CLI configuré pour la JSON sortie. Pour modifier le format de sortie par défaut dans le AWS CLI, exécutezaws configure.

Pour copier une AWS Glue base de données à l'aide du AWS CLI
  1. À l'invite de commandes, exécutez la AWS CLI commande suivante pour récupérer la définition de la AWS Glue base de données que vous souhaitez copier.

    aws glue get-database --name database_name

    Pour obtenir plus d'informations sur la commande get-database, consultez get-database.

  2. Enregistrez la JSON sortie dans un fichier portant le nom de la nouvelle base de données (par exemple,new_database_name.json) sur votre bureau.

  3. Ouvrez le fichier new_database_name.json dans un éditeur de texte.

  4. Dans le JSON fichier, effectuez les opérations suivantes :

    1. Retirez l'{ "Database":entrée extérieure et le support de fermeture correspondant } à la fin du fichier.

    2. Remplacez l'Nameentrée par le nouveau nom de base de données.

    3. Supprimez le champ CatalogId.

  5. Enregistrez le fichier.

  6. À l'invite de commandes, exécutez la AWS CLI commande suivante pour utiliser le fichier de définition de base de données modifié afin de créer la base de données sous le nouveau nom.

    aws glue create-database --database-input "file://~/Desktop\new_database_name.json"

    Pour obtenir plus d'informations sur la commande create-database, consultez create-database. Pour plus d'informations sur le chargement de AWS CLI paramètres depuis un fichier, consultez la section Chargement de AWS CLI paramètres depuis un fichier dans le Guide de AWS Command Line Interface l'utilisateur.

  7. Pour vérifier que la nouvelle base de données a été créée dans AWS Glue, exécutez la commande suivante :

    aws glue get-database --name new_database_name

Vous êtes maintenant prêt à obtenir la définition d'une table à copier dans la nouvelle base de données, à modifier la définition et à utiliser la définition modifiée pour recréer la table dans la nouvelle base de données. Cette procédure ne modifie pas le nom de la table.

Pour copier un AWS Glue tableau à l'aide du AWS CLI
  1. À l'invite de commande, exécutez la AWS CLI commande suivante.

    aws glue get-table --database-name database_name --name table_name

    Pour obtenir plus d'informations sur la commande get-table, consultez get-table.

  2. Enregistrez le JSON résultat dans un fichier portant le nom de la table (par exemple, table_name.json) sur votre bureau Windows.

  3. Ouvrez le fichier dans un éditeur de texte.

  4. Dans le JSON fichier, retirez l'{"Table": entrée extérieure et l'entretoise de fermeture correspondante } à la fin du fichier.

  5. Dans le JSON fichier, supprimez les entrées suivantes et leurs valeurs :

    • DatabaseName— Cette entrée n'est pas obligatoire car la create-table CLI commande utilise le --database-name paramètre.

    • CreateTime

    • UpdateTime

    • CreatedBy

    • IsRegisteredWithLakeFormation

    • CatalogId

    • VersionId

  6. Enregistrez le fichier de définition de table.

  7. À l'invite de commande, exécutez la AWS CLI commande suivante pour recréer la table dans la nouvelle base de données :

    aws glue create-table --database-name new_database_name --table-input "file://~/Desktop\table_name.json"

    Pour obtenir plus d'informations sur la commande create-table, consultez create-table.

    La table apparaît désormais dans la nouvelle base de données AWS Glue et peut être interrogée auprès d'Athena.

  8. Répétez les étapes pour copier chaque table supplémentaire dans la nouvelle base de données dans AWS Glue.