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.
Étape 5 : Afficher l'historique des révisions d'un document
Après avoir modifié les données d'immatriculation de la voiture avec le VIN 1N4AL11D75C109151
, vous pouvez consulter l'historique de tous ses propriétaires enregistrés et tout autre champ mis à jour. Vous pouvez voir toutes les révisions d'un document que vous avez insérées, mises à jour et supprimées en interrogeant la version intégréeFonction historique.
La fonction d'historique renvoie les révisions à partir de la vue validée de votre table, qui inclut à la fois les données de votre application et les métadonnées associées. Les métadonnées indiquent exactement quand chaque révision a été effectuée, dans quel ordre et quelle transaction les a validées.
Au cours de cette étape, vous interrogez l'historique des révisions d'un document dans leVehicleRegistration
tableau duvehicle-registration
grand livre.
Pour consulter l'historique des révisions
-
Ouvrez la console Amazon QLDB à l'adresse https://console.aws.amazon.com/qldb
. -
Dans le panneau de navigation, choisissez PartiQL Editor.
-
Choisissez le
vehicle-registration
registre. -
Pour interroger l'historique d'un document, commencez par trouver son caractère unique
id
. Outre l'interrogation de la vue validée, un autre moyen d'obtenir un documentid
consiste à utiliser leBY
mot clé dans la vue utilisateur par défaut du tableau. Pour en savoir plus, consultez Utilisation de la clause BY pour interroger l'ID du document.Dans la fenêtre de l'éditeur de requêtes, entrez l'instruction suivante, puis choisissez Exécuter.
SELECT r_id FROM VehicleRegistration AS r BY r_id WHERE r.VIN = '1N4AL11D75C109151'
-
Vous pouvez ensuite utiliser cette
id
valeur pour interroger la fonction d'historique. Entrez l'instruction suivante, puis choisissez Exécuter. Veillez à remplacer laid
valeur par votre ID de document, le cas échéant.SELECT h.data.VIN, h.data.City, h.data.Owners FROM history(VehicleRegistration) AS h WHERE h.metadata.id = '
ADR2LQq48kB9neZDupQrMm
' --replace with your idNote
Dans le cadre de ce didacticiel, cette requête d'historique renvoie toutes les révisions de l'ID du document
ADR2LQq48kB9neZDupQrMm
. Il est toutefois recommandé de qualifier une requête d'historique à la fois avec un identifiant de document et une plage de dates (heure de début et heure de fin).Dans QLDB, chaque
SELECT
requête est traitée dans le cadre d'une transaction et est soumise à un délai d'expiration de transaction. Les requêtes d'historique qui incluent une heure de début et une heure de fin bénéficient d'une qualification par plage de dates. Pour plus d'informations, veuillez consulter Fonction historique.La fonction historique renvoie les documents dans le même schéma que la vue validée. Cet exemple projette les données d'immatriculation modifiées de votre véhicule. La sortie doit ressembler à ce qui suit :
VIN Ville Propriétaires "1N4AL11D75C109151"
"Seattle"
{PrimaryOwner:{PersonId:""},SecondaryOwners:[]}
"1N4AL11D75C109151"
"Seattle"
{PrimaryOwner:{PersonId:"294jJ3YUoH1IEEm8GSabOs"}, SecondaryOwners:[]}
"1N4AL11D75C109151"
"Everett"
{PrimaryOwner:{PersonId:"7NmE8YLPbXc0IqesJy1rpR"}, SecondaryOwners:[]}
"1N4AL11D75C109151"
"Everett"
{PrimaryOwner:{PersonId:"7NmE8YLPbXc0IqesJy1rpR"}, SecondaryOwners:[{PersonId:"5Ufgdlnj06gF5CWcOIu64s"}]}
Note
La requête d'historique peut ne pas toujours renvoyer les révisions des documents dans un ordre séquentiel.
Passez en revue la sortie et confirmez que les modifications reflètent ce que vous avez fait dansÉtape 4 : Modifier les documents dans un registre.
-
Vous pouvez ensuite inspecter les métadonnées du document pour chaque révision. Entrez l'instruction suivante, puis choisissez Exécuter. Encore une fois, veillez à remplacer la
id
valeur par votre propre numéro de document, le cas échéant.SELECT VALUE h.metadata FROM history(VehicleRegistration) AS h WHERE h.metadata.id = '
ADR2LQq48kB9neZDupQrMm
' --replace with your idLa sortie doit ressembler à ce qui suit :
version ; id TxTime TxID 0
"ADR2LQq48kB9neZDupQrMm"
2019-05-23T19:20:360d-3Z
"FMoVdWuPxJg3k466Iz4i75"
1
"ADR2LQq48kB9neZDupQrMm"
2019-05-23T21:40:199d-3Z
"KWByxe842Xw8DNHcvARPOt"
2
"ADR2LQq48kB9neZDupQrMm"
2019-05-23T21:44:432d-3Z
"EKwDOJRwbHpFvmAyJ2Kdh9"
3
"ADR2LQq48kB9neZDupQrMm"
2019-05-23T21:49:254d-3Z
"96EiZd7vCmJ6RAvOvTZ4YA"
Ces champs de métadonnées fournissent des détails sur le moment où chaque élément a été modifié et par quelle transaction. À partir de ces données, vous pouvez déduire ce qui suit :
-
Le document est identifié de manière unique par son attribut système
id
:ADR2LQq48kB9neZDupQrMm
. Il s'agit d'un identifiant unique universel (UUID) représenté dans une chaîne codée en Base62. -
Cela
txTime
indique que la révision initiale du document (version0
) a été créée à2019-05-23T19:20:360d-3Z
. -
Chaque transaction suivante crée une nouvelle révision avec le même document
id
, un numéro de version incrémenté et untxId
et mis à jourtxTime
.
-
Pour vérifier la révision d'un document de manière cryptographique dans levehicle-registration
registre, passez àÉtape 6 : Vérifier un document dans un registre.