Étape 5 : Afficher l'historique des révisions d'un document - Amazon Quantum Ledger Database (Amazon QLDB)

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
  1. Ouvrez la console Amazon QLDB à l'adresse https://console.aws.amazon.com/qldb.

  2. Dans le panneau de navigation, choisissez PartiQL Editor.

  3. Choisissez levehicle-registration registre.

  4. Pour interroger l'historique d'un document, commencez par trouver son caractère uniqueid. 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'
  5. Vous pouvez ensuite utiliser cetteid 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 id
    Note

    Dans le cadre de ce didacticiel, cette requête d'historique renvoie toutes les révisions de l'ID du documentADR2LQq48kB9neZDupQrMm. 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, chaqueSELECT 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.

  6. 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 laid 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 id

    La 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èmeid :ADR2LQq48kB9neZDupQrMm. Il s'agit d'un identifiant unique universel (UUID) représenté dans une chaîne codée en Base62.

    • CelatxTime 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 documentid, 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.