Consultar metadados do documento - Banco de dados Amazon Quantum Ledger (AmazonQLDB)

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

Consultar metadados do documento

Importante

Aviso de fim do suporte: os clientes existentes poderão usar a Amazon QLDB até o final do suporte em 31/07/2025. Para obter mais detalhes, consulte Migrar um Amazon QLDB Ledger para o Amazon Aurora Postgre. SQL

Uma instrução INSERT cria a revisão inicial de um documento com um número de versão zero. Para identificar cada documento de forma exclusiva, a Amazon QLDB atribui uma ID do documento como parte dos metadados.

Além do ID do documento e do número da versão, QLDB armazena outros metadados gerados pelo sistema para cada documento em uma tabela. Esses metadados incluem informações da transação, atributos do diário e o valor de hash do documento.

Todos os sistemas atribuídos IDs são identificadores universalmente exclusivos (UUID), cada um representado em uma string codificada em Base62. Para ter mais informações, consulte Único IDs na Amazon QLDB.

Visão confirmada

Você pode acessar os metadados do documento consultando a visualização confirmada. Essa visualização retorna documentos DA tabela definida pelo sistema que corresponde diretamente à sua tabela de usuário. Ela inclui a última revisão confirmada e não excluída de seus dados e dos metadados gerados pelo sistema. Para consultar essa visualização, adicione o prefixo _ql_committed_ ao nome da tabela em sua consulta. (O prefixo _ql_ é reservado QLDB para objetos do sistema.)

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

Usando os dados inseridos anteriormente em Criação de tabelas com índices e inserção de documentos, a saída dessa consulta mostra o conteúdo do sistema da revisão mais recente de cada documento não excluído. O documento do sistema tem metadados aninhados no campo metadata e seus dados de usuário aninhados no 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" } }
Campos de visualização confirmados
  • blockAddress: a localização do bloco no diário do seu ledger em que a revisão do documento foi confirmada. Um endereço, que pode ser usado para verificação criptográfica, tem os dois campos a seguir.

    • strandId: o ID exclusivo da cadeia do diário que contém o bloco.

    • sequenceNo: o número do índice que especifica a localização do bloco dentro da cadeia.

    nota

    Ambos os documentos neste exemplo têm um blockAddress idêntico com o mesmo sequenceNo. Como esses documentos foram inseridos em uma única transação (e, nesse caso, em uma única declaração), eles foram confirmados no mesmo bloco.

  • hash— O valor de hash de íons SHA -256 que representa exclusivamente a revisão do documento. O hash cobre os campos data e metadata das revisões e pode ser usado para verificação criptográfica.

  • data: os atributos de dados do usuário do documento.

    Se você redigir uma revisão, essa estrutura data será substituída por um campo dataHash, cujo valor é o hash de Ion da estrutura data removida.

  • metadata: os atributos de metadados do documento.

    • id: o ID exclusivo do documento atribuído pelo sistema.

    • version: o número da versão do documento. Esse é um número inteiro baseado em zero que é incrementado com cada revisão do documento.

    • txTime: o carimbo de hora/data e hora em a revisão do documento foi confirmada no diário.

    • txId: o ID exclusivo da transação que confirmou a revisão do documento.

Unir as visualizações confirmadas e do usuário

Você pode escrever consultas que unem uma tabela na visualização confirmada com uma tabela na visualização do usuário. Por exemplo, talvez você queira unir o documento id de uma tabela com um campo definido pelo usuário de outra tabela.

A consulta a seguir une duas tabelas nomeadas DriversLicense e Person em seus PersonId e campos id do documento, respectivamente, usando a visualização confirmada para a última.

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

Para saber como consultar o campo ID do documento na visualização padrão do usuário, vá paraUsar a cláusula BY para consultar o ID do documento.