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 gleichensequenceNo
. 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 Revisiondata
und diemetadata
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 eindataHash
Feld ersetzt, dessen Wert dem Ionen-Hash der entferntendata
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.