Etapa 5: Visualizar o histórico de revisão de um documento - Amazon Quantum Ledger Database (Amazon QLDB)

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á.

Etapa 5: Visualizar o histórico de revisão de um documento

Depois de modificar os dados de registro do carro com o VIN 1N4AL11D75C109151, você pode consultar o histórico de todos os proprietários registrados e quaisquer outros campos atualizados. Você pode ver todas as revisões de um documento que inseriu, atualizou e excluiu consultando a Função de histórico incorporada.

A função de histórico retorna revisões da visualização confirmada de sua tabela, que inclui os dados do aplicativo e os metadados associados. Os metadados mostram exatamente quando cada revisão foi feita, em que ordem e qual transação as confirmou.

Nesta etapa, você consulta o histórico de revisão de um documento na tabela VehicleRegistration do ledger vehicle-registration.

Visualizar o histórico de revisão
  1. Abra o console do Amazon QLDB em https://console.aws.amazon.com/qldb.

  2. No painel de navegação, selecione Editor PartiQL.

  3. Escolha o ledger vehicle-registration.

  4. Para consultar o histórico de um documento, comece encontrando seu id único. Além de consultar a visualização confirmada, outra forma de obter um documento id é usar a palavra-chave BY na visualização padrão do usuário da tabela. Para saber mais, consulte Usando a cláusula BY para consultar a ID do documento.

    Na janela do editor de consulta, insira a instrução a seguir e, em seguida, escolha Executar.

    SELECT r_id FROM VehicleRegistration AS r BY r_id WHERE r.VIN = '1N4AL11D75C109151'
  5. Em seguida, você pode usar esse valor id para consultar a função de histórico. Insira a instrução a seguir e escolha Executar. Certifique-se de substituir o valor id pelo seu próprio ID do documento, conforme apropriado.

    SELECT h.data.VIN, h.data.City, h.data.Owners FROM history(VehicleRegistration) AS h WHERE h.metadata.id = 'ADR2LQq48kB9neZDupQrMm' --replace with your id
    nota

    Para os fins deste tutorial, essa consulta de histórico retorna todas as revisões da ID ADR2LQq48kB9neZDupQrMm do documento. Como prática recomendada, no entanto, qualifique uma consulta de histórico com uma ID do documento e um intervalo de datas (hora de início e hora de término).

    No QLDB, cada consulta SELECT é processada em uma transação e está sujeita a um tempo limite de transação. As consultas de histórico que incluem uma hora de início e uma hora de término ganham o benefício da qualificação por intervalo de datas. Para obter mais informações, consulte Função de histórico.

    A função de histórico retorna documentos no mesmo esquema da visualização confirmada. Este exemplo projeta seus dados de registro de veículos modificados. A saída deve ser semelhante à seguinte.

    VIN Cidade Proprietários
    "1N4AL11D75C109151" "Seattle" {PrimaryOwner:{PersonId:""},SecondaryOwners:[]}
    "1N4AL11D75C109151" "Seattle" {PrimaryOwner:{PersonId:"294jJ3YUoH1IEEm8GSabOs"}, SecondaryOwners:[]}
    "1N4AL11D75C109151" "Everett" {PrimaryOwner:{PersonId:"7NmE8YLPbXc0IqesJy1rpR"}, SecondaryOwners:[]}
    "1N4AL11D75C109151" "Everett" {PrimaryOwner:{PersonId:"7NmE8YLPbXc0IqesJy1rpR"}, SecondaryOwners:[{PersonId:"5Ufgdlnj06gF5CWcOIu64s"}]}
    nota

    A consulta do histórico pode nem sempre retornar as revisões do documento em ordem sequencial.

    Analise a saída e confirme se as alterações refletem o que você fez em Etapa 4: Modificar documentos em um ledger.

  6. Em seguida, você pode inspecionar os metadados do documento de cada revisão. Insira a instrução a seguir e escolha Executar. Novamente, certifique-se de substituir o valor id pelo seu próprio ID do documento, conforme apropriado.

    SELECT VALUE h.metadata FROM history(VehicleRegistration) AS h WHERE h.metadata.id = 'ADR2LQq48kB9neZDupQrMm' --replace with your id

    A saída deve ser semelhante à seguinte.

    version ID TxTime txId
    0 "ADR2LQq48kB9neZDupQrMm" 2019-05-23T19:20:360d-3Z "FMoVdWuPxJg3k466Iz4i75"
    1 "ADR2LQq48kB9neZDupQrMm" 2019-05-23T21:40:199d-3Z "KWByxe842Xw8DNHcvARPOt"
    2 "ADR2LQq48kB9neZDupQrMm" 2019-05-23T21:44:432d-3Z "EKwDOJRwbHpFvmAyJ2Kdh9"
    3 "ADR2LQq48kB9neZDupQrMm" 2019-05-23T21:49:254d-3Z "96EiZd7vCmJ6RAvOvTZ4YA"

    Esses campos de metadados fornecem detalhes sobre quando cada item foi modificado e por qual transação. A partir desses dados, você pode deduzir o seguinte:

    • O documento é identificado exclusivamente por seu id atribuído pelo sistema: ADR2LQq48kB9neZDupQrMm. Esse é um identificador universalmente exclusivo (UUID) representado em uma string codificada em Base62.

    • O txTime mostra que a revisão inicial do documento (versão 0) foi criada em 2019-05-23T19:20:360d-3Z.

    • Cada transação subsequente cria uma nova revisão com o mesmo documento id, um número de versão incrementado e txId e txTime atualizados.

Para verificar uma revisão de documento criptograficamente no ledger vehicle-registration, vá para Etapa 6: verificar um documento em um ledger.