Metadaten von Dokumenten werden abgefragt - 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.

Metadaten von Dokumenten werden abgefragt

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.

Eine INSERT-Anweisung erstellt die anfängliche Revision eines Dokuments mit einer Versionsnummer von Null. Um jedes Dokument eindeutig zu identifizieren, QLDB weist Amazon als Teil der Metadaten eine Dokument-ID zu.

QLDBSpeichert neben der Dokument-ID und der Versionsnummer weitere vom System generierte Metadaten für jedes Dokument in einer Tabelle. Zu diesen Metadaten gehören Transaktionsinformationen, Journalattribute und der Hashwert des Dokuments.

Alle vom System zugewiesenen Identifikatoren IDs sind universell eindeutige Identifikatoren (UUID), die jeweils in einer Base62-kodierten Zeichenfolge dargestellt werden. Weitere Informationen finden Sie unter Einzigartig IDs bei Amazon QLDB.

Festgeschriebene Ansicht

Sie können auf Dokumentmetadaten zugreifen, indem Sie die festgeschriebene Ansicht abfragen. Diese Ansicht gibt Dokumente aus der vom System definierten Tabelle zurück, die direkt Ihrer Benutzertabelle entspricht. Sie enthält die letzte bestätigte, nicht gelöschte Version sowohl Ihrer Daten als auch der vom System generierten Metadaten. Zum Abfragen dieser Ansicht fügen Sie das Präfix _ql_committed_ zum Tabellennamen in Ihrer Abfrage hinzu. (Das Präfix _ql_ ist QLDB für Systemobjekte reserviert.)

SELECT * FROM _ql_committed_VehicleRegistration AS r WHERE r.data.VIN IN ('1N4AL11D75C109151', 'KM8SRDHF6EU074761')

Unter Verwendung der zuvor Tabellen mit Indizes erstellen und Dokumente einfügen eingefügten Daten zeigt die Ausgabe dieser Abfrage den Systeminhalt der letzten Version jedes nicht gelöschten Dokuments. Das Systemdokument enthält im Feld verschachtelte Metadaten und Ihre Benutzerdaten sind im metadata Feld verschachtelt. data

{ blockAddress:{ strandId:"JdxjkR9bSYB5jMHWcI464T", sequenceNo:14 }, hash:{{wCsmM6qD4STxz0WYmE+47nZvWtcCz9D6zNtCiM5GoWg=}}, data:{ VIN: "1N4AL11D75C109151", LicensePlateNumber: "LEWISR261LL", State: "WA", City: "Seattle", PendingPenaltyTicketAmount: 90.25, ValidFromDate: 2017-08-21T, ValidToDate: 2020-05-11T, Owners: { PrimaryOwner: { PersonId: "294jJ3YUoH1IEEm8GSabOs" }, SecondaryOwners: [{ PersonId: "5Ufgdlnj06gF5CWcOIu64s" }] } }, metadata:{ id:"3Qv67yjXEwB9SjmvkuG6Cp", version:0, txTime:2019-06-05T20:53:321d-3Z, txId:"HgXAkLjAtV0HQ4lNYdzX60" } }, { blockAddress:{ strandId:"JdxjkR9bSYB5jMHWcI464T", sequenceNo:14 }, hash:{{wPuwH60TtcCvg/23BFp+redRXuCALkbDihkEvCX22Jk=}}, data:{ VIN: "KM8SRDHF6EU074761", LicensePlateNumber: "CA762X", State: "WA", City: "Kent", PendingPenaltyTicketAmount: 130.75, ValidFromDate: 2017-09-14T, ValidToDate: 2020-06-25T, Owners: { PrimaryOwner: { PersonId: "IN7MvYtUjkp1GMZu0F6CG9" }, SecondaryOwners: [] } }, metadata:{ id:"JOzfB3lWqGU727mpPeWyxg", version:0, txTime:2019-06-05T20:53:321d-3Z, txId:"HgXAkLjAtV0HQ4lNYdzX60" } }
Festgelegte Felder anzeigen
  • blockAddress— Die Position des Blocks im Journal Ihres Hauptbuches, an dem die Überarbeitung des Dokuments bestätigt wurde. Eine Adresse, die für die kryptografische Verifizierung verwendet werden kann, hat die folgenden zwei Felder.

    • strandId— Die eindeutige ID des Journalstrangs, der den Block enthält.

    • sequenceNo— Eine Indexnummer, die die Position des Blocks innerhalb des Strangs angibt.

    Anmerkung

    Beide Dokumente in diesem Beispiel haben eine identische blockAddress mit der gleichen sequenceNo. Da diese Dokumente in einer einzelnen Transaktion eingefügt wurden (und in diesem Fall in einer einzelnen Anweisung), werden sie im gleichen Block festgeschrieben.

  • hash— Der Hashwert SHA -256 Ion, der die Revision des Dokuments eindeutig darstellt. Der Hash deckt die Revision data und die metadata Felder ab und kann zur kryptografischen Überprüfung verwendet werden.

  • data— Die Benutzerdatenattribute des Dokuments.

    Wenn Sie eine Revision redigieren, wird diese data Struktur durch ein dataHash Feld ersetzt, dessen Wert dem Ionen-Hash der entfernten data Struktur entspricht.

  • metadata— Die Metadatenattribute des Dokuments.

    • id— Die vom System zugewiesene eindeutige ID des Dokuments.

    • version— Die Versionsnummer des Dokuments. Dies ist eine auf Null basierende Ganzzahl, die mit jeder Dokumentrevision inkrementiert wird.

    • txTime— Der Zeitstempel, zu dem die Revision des Dokuments in das Journal übernommen wurde.

    • txId— Die eindeutige ID der Transaktion, bei der die Überarbeitung des Dokuments vorgenommen wurde.

Zusammenführung der Ansichten „Zugestellt“ und „Benutzer“

Sie können Abfragen schreiben, die eine Tabelle in der Commited-Ansicht mit einer Tabelle in der Benutzeransicht verknüpfen. Beispielsweise möchten Sie möglicherweise das Dokument id einer Tabelle mit einem benutzerdefinierten Feld einer anderen Tabelle verknüpfen.

Die folgende Abfrage verknüpft zwei Tabellen mit dem Namen DriversLicense und Person nach ihren jeweiligen PersonId id Dokumentfeldern, wobei für letztere die festgeschriebene Ansicht verwendet wird.

SELECT * FROM DriversLicense AS d INNER JOIN _ql_committed_Person AS p ON d.PersonId = p.metadata.id WHERE p.metadata.id = '1CWScY2qHYI9G88C2SjvtH'

Informationen zur Abfrage des Dokument-ID-Felds in der Standard-Benutzeransicht finden Sie unter Verwenden der BY-Klausel zur Abfrage der Dokument-ID.