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.
Interrogation des métadonnées d'un document
Important
Avis de fin de support : les clients existants pourront utiliser Amazon QLDB jusqu'à la fin du support le 31 juillet 2025. Pour plus de détails, consultez Migrer un Amazon QLDB Ledger vers Amazon Aurora SQL Postgre
Une INSERT
instruction crée la révision initiale d'un document dont le numéro de version est zéro. Pour identifier de manière unique chaque document, Amazon QLDB attribue un identifiant de document dans le cadre des métadonnées.
Outre l'ID du document et le numéro de version, QLDB stocke d'autres métadonnées générées par le système pour chaque document dans un tableau. Ces métadonnées incluent les informations relatives aux transactions, les attributs du journal et la valeur de hachage du document.
Tous les identifiants uniques universels (UUID) assignés par le système IDs sont tous représentés dans une chaîne codée en Base62. Pour plus d’informations, consultez Unique IDs sur Amazon QLDB.
Un point de vue engagé
Vous pouvez accéder aux métadonnées du document en interrogeant la vue validée. Cette vue renvoie les documents de la table définie par le système qui correspond directement à votre table utilisateur. Il inclut la dernière révision validée et non supprimée de vos données et des métadonnées générées par le système. Pour interroger cette vue, ajoutez le préfixe _ql_committed_
au nom de la table dans votre requête. (Le préfixe _ql_
est QLDB réservé aux objets du système.)
SELECT * FROM _ql_committed_VehicleRegistration AS r WHERE r.data.VIN IN ('1N4AL11D75C109151', 'KM8SRDHF6EU074761')
En utilisant les données précédemment inséréesCréation de tables avec index et insertion de documents, le résultat de cette requête affiche le contenu système de la dernière révision de chaque document non supprimé. Le document système contient des métadonnées imbriquées dans le metadata
champ, et vos données utilisateur sont imbriquées dans le data
champ.
{
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"
}
}
Champs de vue dédiés
-
blockAddress
— L'emplacement du bloc dans le journal de votre registre où la révision du document a été validée. Une adresse, qui peut être utilisée pour la vérification cryptographique, comporte les deux champs suivants.-
strandId
— L'identifiant unique du volet du journal qui contient le bloc. -
sequenceNo
— Numéro d'index qui indique l'emplacement du bloc dans le fil.
Note
Dans cet exemple, les deux documents ont un identique
blockAddress
avec le mêmesequenceNo
. Comme ces documents ont été insérés dans une seule transaction (et dans ce cas, dans une seule déclaration), ils ont été validés dans le même bloc. -
-
hash
— La valeur de hachage SHA -256 ions qui représente de manière unique la révision du document. Le hachage couvre les révisions et lesmetadata
champsdata
et peut être utilisé pour la vérification cryptographique. -
data
— Les attributs des données utilisateur du document.Si vous rédigez une révision, cette
data
structure est remplacée par undataHash
champ dont la valeur est le hachage ionique de la structure suppriméedata
. -
metadata
— Les attributs de métadonnées du document.-
id
— L'identifiant unique du document attribué par le système. -
version
— Numéro de version du document. Il s'agit d'un entier de base zéro qui augmente à chaque révision du document. -
txTime
— L'horodatage auquel la révision du document a été validée dans le journal. -
txId
— L'identifiant unique de la transaction qui a validé la révision du document.
-
Rejoindre les opinions des utilisateurs et des utilisateurs
Vous pouvez écrire des requêtes qui joignent une table dans la vue validée à une table dans la vue utilisateur. Par exemple, vous souhaiterez peut-être joindre le document id
d'une table à un champ défini par l'utilisateur d'une autre table.
La requête suivante joint deux tables nommées DriversLicense
et Person
dans leurs PersonId
id
champs de document respectivement, en utilisant la vue validée pour cette dernière.
SELECT * FROM DriversLicense AS d INNER JOIN _ql_committed_Person AS p ON d.PersonId = p.metadata.id WHERE p.metadata.id = '
1CWScY2qHYI9G88C2SjvtH
'
Pour savoir comment interroger le champ ID du document dans la vue utilisateur par défaut, passez àUtilisation de la clause BY pour demander l'ID du document.