Schritt 5: Den Revisionsverlauf für ein Dokument anzeigen - Amazon Quantum Ledger-Datenbank (AmazonQLDB)

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Schritt 5: Den Revisionsverlauf für ein Dokument anzeigen

Wichtig

Hinweis zum Ende des Supports: Bestandskunden können Amazon QLDB bis zum Ende des Supports am 31.07.2025 nutzen. Weitere Informationen finden Sie unter Migrieren eines Amazon QLDB Ledgers zu Amazon Aurora SQL Postgre.

Nachdem Sie die Zulassungsdaten für das Fahrzeug mit geändert haben VIN 1N4AL11D75C109151, können Sie die Historie aller registrierten Besitzer und alle anderen aktualisierten Felder abfragen. Sie können alle Revisionen eines Dokuments anzeigen, die Sie eingefügt, aktualisiert und gelöscht haben, indem Sie die integrierte Funktion „Verlauf“ abfragen.

Die Verlaufsfunktion gibt Revisionen aus der festgeschriebenen Ansicht Ihrer Tabelle zurück, die sowohl Ihre Anwendungsdaten als auch die zugehörigen Metadaten enthält. Die Metadaten zeigen genau, wann und in welcher Reihenfolge die jeweiligen Revisionen gemacht wurden und durch welche Transaktion sie bestätigt wurden.

In diesem Schritt führen Sie eine Abfrage des Änderungsverlaufs eines Dokuments in der VehicleRegistration-Tabelle im vehicle-registration-Ledger durch.

So zeigen Sie den Revisionsverlauf an
  1. Öffnen Sie die QLDB Amazon-Konsole unter https://console.aws.amazon.com/qldb.

  2. Wählen Sie im Navigationsbereich PartiQL-Editor aus.

  3. Wählen Sie den vehicle-registration-Ledger aus.

  4. Um den Verlauf eines Dokuments abzufragen, beginnen Sie mit der Ermittlung der eindeutigen id. Zusätzlich zum Abfragen der bestätigten Ansicht ist eine weitere Möglichkeit zum Abrufen einer Dokument-id die Verwendung des BY-Schlüsselworts in der Standard-Benutzeransicht der Tabelle. Weitere Informationen hierzu finden Sie unter Verwenden der BY-Klausel zur Abfrage der Dokument-ID.

    Geben Sie im Fenster des Abfrageeditors die folgende Anweisung ein und klicken Sie dann auf Run (Ausführen).

    SELECT r_id FROM VehicleRegistration AS r BY r_id WHERE r.VIN = '1N4AL11D75C109151'
  5. Als Nächstes können Sie diesen id Wert verwenden, um die Verlaufsfunktion abzufragen. Geben Sie die folgende Anweisung ein und klicken Sie dann auf Run (Ausführen). Achten Sie darauf, den id-Wert ggf. durch Ihre eigene Dokument-ID zu ersetzen.

    SELECT h.data.VIN, h.data.City, h.data.Owners FROM history(VehicleRegistration) AS h WHERE h.metadata.id = 'ADR2LQq48kB9neZDupQrMm' --replace with your id
    Anmerkung

    Für die Zwecke dieses Tutorials gibt diese Verlaufsabfrage alle Versionen der Dokument-ID ADR2LQq48kB9neZDupQrMm zurück. Es hat sich jedoch bewährt, eine Verlaufsabfrage sowohl mit einer Dokument-ID als auch mit einem Datumsbereich (Startzeit und Endzeit) zu qualifizieren.

    InQLDB: Jede SELECT Abfrage wird in einer Transaktion verarbeitet und unterliegt einem Transaktions-Timeout-Limit. Bei Verlaufsabfragen, die eine Start- und Endzeit enthalten, wird der Vorteil der Datumsbereichsqualifizierung genutzt. Weitere Informationen finden Sie unter Funktion „Verlauf“.

    Die Verlaufsfunktion gibt Dokumente im gleichen Schema wie die festgeschriebene Ansicht zurück. In diesem Beispiel werden Ihre geänderten Fahrzeugregistrierungsdaten projiziert. Die Ausgabe sollte in etwa folgendermaßen aussehen:

    VIN Ort Eigentümer
    "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"}]}
    Anmerkung

    Der Abfrageverlauf gibt die Dokumentrevisionen möglicherweise nicht immer in sequenzieller Reihenfolge zurück.

    Prüfen Sie die Ausgabe und vergewissern Sie sich, dass die Änderungen widerspiegeln, was Sie in Schritt 4: Dokumente in einem Ledger ändern durchgeführt haben.

  6. Anschließend können Sie die Dokumentmetadaten der einzelnen Revision näher untersuchen. Geben Sie die folgende Anweisung ein und klicken Sie dann auf Run (Ausführen). Stellen Sie auch hier sicher, dass Sie den id-Wert durch Ihre eigene Dokument-ID ersetzen.

    SELECT VALUE h.metadata FROM history(VehicleRegistration) AS h WHERE h.metadata.id = 'ADR2LQq48kB9neZDupQrMm' --replace with your id

    Die Ausgabe sollte in etwa folgendermaßen aussehen:

    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"

    Diese Metadatenfelder bieten Informationen dazu, wann die einzelnen Elemente geändert wurden und welcher Transaktion. Aus diesen Daten können Sie Folgendes schließen:

    • Das Dokument wird eindeutig durch seine vom System zugewiesene id identifiziert: ADR2LQq48kB9neZDupQrMm. Dies ist ein universell eindeutiger Bezeichner (UUID), der in einer Base62-kodierten Zeichenfolge dargestellt wird.

    • Die txTime zeigt, dass die ursprüngliche Revision des Dokuments (Version 0) am 2019-05-23T19:20:360d-3Z erstellt wurde.

    • Jede nachfolgende Transaktion erstellt eine neue Revision mit derselben Dokument-id, eine aufsteigenden Versionsnummer und einer aktualisierten txId und txTime.

Um die Revision eines Dokuments kryptografisch im Hauptbuch zu verifizieren, fahren Sie mit fort. vehicle-registration Schritt 6: Verifizieren Sie ein Dokument in einem Ledger