Interrogazione dei metadati dei documenti - Database Amazon Quantum Ledger (Amazon) QLDB

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Interrogazione dei metadati dei documenti

Importante

Avviso di fine del supporto: i clienti esistenti potranno utilizzare Amazon QLDB fino alla fine del supporto il 31/07/2025. Per ulteriori dettagli, consulta Migrare un Amazon QLDB Ledger ad Amazon Aurora Postgre. SQL

Una INSERT dichiarazione crea la revisione iniziale di un documento con un numero di versione pari a zero. Per identificare in modo univoco ogni documento, Amazon QLDB assegna un ID documento come parte dei metadati.

Oltre all'ID del documento e al numero di versione, QLDB memorizza altri metadati generati dal sistema per ogni documento in una tabella. Questi metadati includono informazioni sulle transazioni, attributi del journal e il valore hash del documento.

Tutti gli identificatori univoci assegnati dal sistema IDs sono identificatori univoci universalmente (UUID), ciascuno rappresentato in una stringa codificata in Base62. Per ulteriori informazioni, consulta IDsUnico su Amazon QLDB.

Vista impegnata

È possibile accedere ai metadati del documento interrogando la visualizzazione confermata. Questa visualizzazione restituisce i documenti dalla tabella definita dal sistema che corrisponde direttamente alla tabella utente. Include l'ultima revisione confermata e non eliminata sia dei dati che dei metadati generati dal sistema. Per interrogare questa vista, aggiungi il prefisso _ql_committed_ al nome della tabella nella tua query. (Il prefisso _ql_ è riservato agli oggetti QLDB di sistema).

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

Utilizzando i dati precedentemente inseritiCreazione di tabelle con indici e inserimento di documenti, l'output di questa query mostra il contenuto di sistema dell'ultima revisione di ogni documento non eliminato. Il documento di sistema ha i metadati annidati nel metadata campo e i dati utente annidati nel campo. 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" } }
Campi di visualizzazione vincolati
  • blockAddress— La posizione del blocco nel diario del libro contabile in cui è stata eseguita la revisione del documento. Un indirizzo, che può essere utilizzato per la verifica crittografica, ha i due campi seguenti.

    • strandId— L'ID univoco del filone di giornale che contiene il blocco.

    • sequenceNo— Un numero indice che specifica la posizione del blocco all'interno del trefolo.

    Nota

    Entrambi i documenti in questo esempio hanno lo stesso blockAddress codice. sequenceNo Poiché questi documenti sono stati inseriti all'interno di una singola transazione (e in questo caso, in un'unica dichiarazione), sono stati salvati nello stesso blocco.

  • hash— Il valore hash SHA -256 Ion che rappresenta in modo univoco la revisione del documento. L'hash copre le revisioni e i metadata campi data e può essere utilizzato per la verifica crittografica.

  • data— Gli attributi dei dati utente del documento.

    Se redigete una revisione, questa data struttura viene sostituita da un dataHash campo, il cui valore è l'hash ionico della struttura rimossa. data

  • metadata— Gli attributi dei metadati del documento.

    • id— L'ID univoco del documento assegnato dal sistema.

    • version— Il numero di versione del documento. Si tratta di un numero intero a base zero che aumenta con ogni revisione del documento.

    • txTime— Il timestamp in cui la revisione del documento è stata salvata nel diario.

    • txId— L'ID univoco della transazione che ha eseguito la revisione del documento.

Unire le visualizzazioni impegnate e quelle degli utenti

È possibile scrivere interrogazioni che uniscono una tabella nella visualizzazione commessa con una tabella nella visualizzazione utente. Ad esempio, potreste voler unire il documento id di una tabella a un campo definito dall'utente di un'altra tabella.

La seguente query unisce due tabelle denominate rispettivamente DriversLicense PersonId e Person sui id campi del documento, utilizzando la visualizzazione commessa per quest'ultimo.

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

Per informazioni su come interrogare il campo ID del documento nella visualizzazione utente predefinita, procedi aUtilizzo della clausola BY per interrogare l'ID del documento.