Gestion des tables - Base de données Amazon Quantum Ledger (AmazonQLDB)

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.

Gestion des tables

Important

Avis de fin de support : les clients existants pourront utiliser Amazon QLDB jusqu'à la fin du support le 31 juillet 2025. Pour plus de détails, consultez Migrer un Amazon QLDB Ledger vers Amazon Aurora SQL Postgre.

Cette section explique comment gérer les tables à l'aide UNDROP TABLE des instructions DROP TABLE and dans AmazonQLDB. Il décrit également comment baliser les tables pendant leur création. Les quotas relatifs au nombre de tables actives et au nombre total de tables que vous pouvez créer sont définis dansQuotas et limites sur Amazon QLDB.

Marquer les tables lors de leur création

Note

Le balisage des tables lors de leur création est actuellement pris en charge pour les registres en mode STANDARD autorisations uniquement.

Vous pouvez baliser les ressources de votre table. Pour gérer les balises des tables existantes, utilisez les API opérations AWS Management Console ou TagResourceUntagResource, etListTagsForResource. Pour plus d’informations, consultez Marquer les ressources Amazon QLDB.

Vous pouvez également définir des balises de table lors de la création de la table à l'aide de la QLDB console ou en les spécifiant dans une instruction CREATE TABLE partiQL. L'exemple suivant crée une table nommée Vehicle avec la baliseenvironment=production.

CREATE TABLE Vehicle WITH (aws_tags = `{'environment': 'production'}`)

En attribuant des étiquettes aux ressources au moment de la création, vous pouvez supprimer la nécessité d'exécuter des scripts d'identification personnalisés après la création de ressources. Une fois qu'une table est balisée, vous pouvez contrôler l'accès à la table en fonction de ces balises. Par exemple, vous pouvez accorder un accès complet uniquement aux tables dotées d'une balise spécifique. Pour un exemple JSON de stratégie, voirAccès complet à toutes les actions en fonction des balises du tableau.

Tables rabattables

Pour supprimer un tableau, utilisez une DROP TABLE instruction de base. Lorsque vous déposez une tableQLDB, vous la désactivez simplement.

Par exemple, l'instruction suivante désactive la VehicleRegistration table.

DROP TABLE VehicleRegistration

Une DROP TABLE instruction renvoie l'ID attribué par le système à la table. Le statut de VehicleRegistration devrait désormais figurer INACTIVE dans la table du catalogue système information_schema.user_tables.

SELECT status FROM information_schema.user_tables WHERE name = 'VehicleRegistration'

Consultation de l'historique des tables inactives

Outre le nom d'une table, vous pouvez également l'interroger QLDB Fonction d'historique avec un ID de table comme premier argument d'entrée. Vous devez utiliser l'ID de table pour consulter l'historique d'une table inactive. Une fois qu'une table est désactivée, vous ne pouvez plus consulter son historique à l'aide du nom de la table.

Recherchez d'abord l'ID de la table en interrogeant la table du catalogue du système. Par exemple, la requête suivante renvoie le tableId de la VehicleRegistration table.

SELECT tableId FROM information_schema.user_tables WHERE name = 'VehicleRegistration'

Vous pouvez ensuite utiliser cet ID pour exécuter la même requête d'historique à partir deConsultation de l'historique des révisions. Voici un exemple qui interroge l'historique de l'ID de document ADR2Ll1fGsU4Jr4EqTdnQF à partir de l'ID de table5PLf9SXwndd63lPaSIa0O6. L'ID de table est une chaîne littérale qui doit être placée entre guillemets simples.

--replace both the table and document IDs with your values SELECT * FROM history('5PLf9SXwndd63lPaSIa0O6', `2000T`, `2019-06-05T23:59:59Z`) AS h WHERE h.metadata.id = 'ADR2Ll1fGsU4Jr4EqTdnQF'

Réactivation des tables

Après avoir désactivé une table dansQLDB, vous pouvez utiliser l'UNDROP TABLEinstruction pour la réactiver.

Tout d'abord, trouvez l'ID de la table à partir deinformation_schema.user_tables. Par exemple, la requête suivante renvoie le tableId de la VehicleRegistration table. Le statut doit êtreINACTIVE.

SELECT tableId FROM information_schema.user_tables WHERE name = 'VehicleRegistration'

Utilisez ensuite cet identifiant pour réactiver la table. Voici un exemple qui permet de récupérer l'ID de table. 5PLf9SXwndd63lPaSIa0O6 Dans ce cas, l'ID de table est un identifiant unique que vous placez entre guillemets doubles.

UNDROP TABLE "5PLf9SXwndd63lPaSIa0O6"

Le statut de VehicleRegistration devrait désormais êtreACTIVE.

Pour savoir comment créer, décrire et supprimer des index, passez àGestion des index.