

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
<a name="working.metadata"></a>

**Importante**  
Aviso de fim do suporte: os clientes existentes poderão usar o Amazon QLDB até o final do suporte em 31/07/2025. Para obter mais detalhes, consulte [Migrar um Amazon QLDB Ledger para o Amazon](https://aws.amazon.com/blogs/database/migrate-an-amazon-qldb-ledger-to-amazon-aurora-postgresql/) Aurora PostgreSQL.

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, o Amazon QLDB atribui um *ID do documento* como parte dos metadados.

Além do ID do documento e do número da versão, 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 obter mais informações, consulte [Exclusivo IDs no Amazon QLDB](working.unique-id.md).

**Topics**
+ [Visão confirmada](#working.metadata.committed)
+ [Unir as visualizações confirmadas e do usuário](#working.metadata.committed-joins)

## Visão confirmada
<a name="working.metadata.committed"></a>

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 no 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](working.create.md), 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 SHA-256 Ion 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](verification.md).
+ `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
<a name="working.metadata.committed-joins"></a>

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á para[Usar a cláusula BY para consultar o ID do documento](working.metadata.by-clause.md).