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.
Rubriques
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 TagResource
UntagResource
, 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.