

# Trabalhar com metadados de objeto
<a name="UsingMetadata"></a>

Há dois tipos de metadados de objeto no Amazon S3: *metadados definidos pelo sistema* e *metadados definidos pelo usuário*. Os metadados definidos pelo sistema incluem a data de criação, o tamanho e a classe de armazenamento do objeto, entre outros. Os metadados definidos pelo usuário são metadados que você pode optar por definir no momento do upload de um objeto. Esses metadados definidos pelo usuário são um conjunto de pares de nome/valor. Para obter mais informações, consulte [Metadados do objeto definidos pelo sistema](#SysMetadata) e [Metadados do objeto definidos pelo usuário](#UserMetadata). 

Ao criar um objeto, você especifica a *chave do objeto* (ou *nome da chave*), que identifica exclusivamente o objeto em um bucket do Amazon S3. Para obter mais informações, consulte [Nomear objetos do Amazon S3](object-keys.md). Você também pode definir [metadados definidos pelo usuário](#UserMetadata) no Amazon S3 no momento do upload do objeto. 

Após fazer upload do objeto, você não pode mais modificar esses metadados definidos pelo usuário. A única forma de modificar esses metadados é fazer uma cópia do objeto e definir os metadados. Para ter mais informações sobre como editar metadados usando o console do Amazon S3, consulte [Editar metadados de objeto no console do Amazon S3](add-object-metadata.md). 

**Consultar os metadados e acelerar a descoberta de dados com o S3 Metadata**  
Para encontrar, armazenar e consultar facilmente os metadados dos objetos do S3, você pode usar o S3 Metadata. Com o S3 Metadata, você pode preparar dados rapidamente para uso em analytics de negócios, recuperação de conteúdo, treinamento de modelos de inteligência artificial e machine learning (IA/ML) e muito mais. 

O S3 Metadata acelera a descoberta de dados ao capturar automaticamente os metadados dos objetos nos buckets de uso geral e armazená-los em tabelas do Apache Iceberg totalmente gerenciadas e somente leitura que você pode consultar. Essas tabelas somente leitura são chamadas de *tabelas de metadados*. À medida que objetos são adicionados, atualizados e removidos dos buckets de uso geral, o S3 Metadata atualiza automaticamente as tabelas de metadados correspondentes para refletir as alterações mais recentes.

Por padrão, o S3 Metadata fornece [metadados de objetos definidos pelo sistema](#SysMetadata), como o horário de criação e a classe de armazenamento de um objeto, e metadados personalizados, como tags e [metadados definidos pelo usuário](#UserMetadata) que foram incluídos durante o upload do objeto. O S3 Metadata também fornece metadados de eventos, como quando um objeto é atualizado ou excluído, e a Conta da AWS que fez a solicitação.

As tabelas de metadados são armazenadas em buckets de tabela do S3, que fornecem armazenamento otimizado para dados tabulares. Para consultar os metadados, você pode integrar o bucket de tabela a serviços de analytics da AWS, como Amazon Athena, Amazon Redshift e Amazon Quick. 

Para ter mais informações sobre o S3 Metadata, consulte [Descobrir seus dados com tabelas do S3 Metadata](metadata-tables-overview.md).

## Metadados do objeto definidos pelo sistema
<a name="SysMetadata"></a>

Para cada objeto armazenado em um bucket, o Amazon S3 mantém um conjunto de metadados do sistema. O Amazon S3 processa estes metadados do sistema conforme necessário. Por exemplo, o Amazon S3 mantém a data de criação e o tamanho dos metadados, usando essas informações como parte do gerenciamento de objetos. 

Existem duas categorias de metadados de sistema: 
+ **Controlados pelo sistema**: os metadados, como a data de criação do objeto, são controlados pelo sistema, o que significa que somente o Amazon S3 pode modificar o valor da data. 
+ **Controlados pelo usuário**: outros metadados de sistema, como a classe de armazenamento configurada para o objeto e se o objeto tem criptografia habilitada no lado do servidor, são exemplos cujos valores são controlados por você. Se o bucket está configurado como um site, você pode querer redirecionar uma solicitação de página para outra página ou para um URL externo. Nesse caso, uma página é um objeto no bucket. O Amazon S3 armazena o valor do redirecionamento da página como metadados do sistema, que você pode controlar. 

  Ao criar objetos, você pode configurar os valores desses itens de metadados de sistema ou atualizar os valores quando necessário. Para obter mais informações sobre classes de armazenamento, consulte [Compreender e gerenciar classes de armazenamento do Amazon S3](storage-class-intro.md). 

  O Amazon S3 usa chaves AWS KMS para criptografar seus objetos do Amazon S3. O AWS KMS criptografa apenas os dados do objeto. A soma de verificação e o algoritmo especificado são armazenados como parte dos metadados do objeto. Se a criptografia no lado do servidor for solicitada para o objeto, a soma de verificação será armazenada em formato criptografado. Para obter mais informações sobre criptografia no lado do servidor, consulte [Proteger dados com criptografia](UsingEncryption.md). 

**nota**  
O cabeçalho da solicitação `PUT` é limitado a 8 KB. No cabeçalho da solicitação `PUT`, os metadados definidos pelo sistema são limitados a 2 KB. O tamanho de metadados definidos pelo sistema é medido pela soma do número de bytes na codificação US-ASCII de cada chave e valor. 

A tabela a seguir fornece uma lista dos metadados definidos por sistema e se você pode atualizá-los.


| Nome | Descrição | O usuário pode modificar o valor? | 
| --- | --- | --- | 
| Date | A data e hora atual. | Não | 
| Cache-Control | Um campo de cabeçalho geral usado para especificar políticas de armazenamento em cache. | Sim | 
| Content-Disposition | Informações de apresentação do objeto. | Sim | 
| Content-Encoding | As codificações de conteúdo (como compactação) que foram aplicadas aos dados do objeto. | Sim | 
| Content-Length | O tamanho do objeto em bytes. | Não | 
| Content-Type | O tipo do objeto. | Sim | 
| Last-Modified |  A data de criação do objeto ou data da última modificação, o que aconteceu por último. Para carregamentos fracionados, a data de criação do objeto é a data de início do respectivo carregamento.  | Não | 
| ETag | Uma tag de entidade (ETag) que representa uma versão específica de um objeto. Para objetos que não são carregados como um carregamento fracionado e não são criptografados ou são criptografados por criptografia no servidor com chaves gerenciadas pelo Simple Storage Service (Amazon S3) (SSE-S3), a ETag é um resumo MD5 dos dados. | Não | 
| x-amz-server-side-encryption | Um cabeçalho que indica se a criptografia do lado do servidor está ativada para o objeto e se essa criptografia está usando as chaves do AWS Key Management Service (AWS KMS) (SSE-KMS) ou usando as chaves de criptografia gerenciadas pelo Amazon S3 (SSE-S3). Para obter mais informações, consulte [Proteger os dados usando criptografia do lado do servidor](serv-side-encryption.md).  | Sim | 
| x-amz-checksum-crc64nvme, x-amz-checksum-crc32, x-amz-checksum-crc32c, x-amz-checksum-sha1, x-amz-checksum-sha256 | Cabeçalhos que contêm a soma de verificação ou o resumo do objeto. No máximo um desses cabeçalhos será definido por vez, dependendo do algoritmo de soma de verificação que você instruir o Amazon S3 a usar. Para obter mais informações sobre a escolha do algoritmo de soma de verificação, consulte [Verificar a integridade do objeto no Amazon S3](checking-object-integrity.md). | Não | 
| x-amz-checksum-type | O tipo de soma de verificação, que determina como as somas de verificação em nível de parte são combinadas para criar uma soma de verificação em nível de objeto para objetos fracionados.  | Sim | 
| x-amz-version-id | A versão do objeto. Quando você ativa o versionamento em um bucket, o Amazon S3 atribui um ID de versão aos objetos adicionados ao bucket. Para obter mais informações, consulte [Reter várias versões de objetos com o Versionamento do S3](Versioning.md). | Não | 
| x-amz-delete-marker | Um marcador booliano que indica se o objeto é um marcador de exclusão. Esse marcador é usado somente em buckets com versionamento ativado.  | Não | 
| x-amz-storage-class | A classe de armazenamento usada para armazenar o objeto. Para obter mais informações, consulte [Compreender e gerenciar classes de armazenamento do Amazon S3](storage-class-intro.md). | Sim | 
| x-amz-website-redirect-location |  Um cabeçalho que redireciona solicitações do objeto associado para outro objeto no mesmo bucket ou para um URL externo. Para obter mais informações, consulte [(Opcional) Configurar um redirecionamento de uma página da Web](how-to-page-redirect.md). | Sim | 
| x-amz-server-side-encryption-aws-kms-key-id | Um cabeçalho que indica o ID da chave do KMS de criptografia simétrica do AWS KMS que foi usada para criptografar o objeto. Esse cabeçalho é usado somente quando o cabeçalho x-amz-server-side-encryption está presente e tem o valor de aws:kms. | Sim | 
| x-amz-server-side-encryption-customer-algorithm | Um cabeçalho que indica se a criptografia do lado do servidor com as chaves de criptografia fornecidas pelo cliente (SSE-C) está ativada. Para obter mais informações, consulte [Como usar criptografia do lado do servidor com chaves fornecidas pelo cliente (SSE-C)](ServerSideEncryptionCustomerKeys.md).  | Sim | 
| x-amz-tagging | O conjunto de etiquetas do objeto. O conjunto de etiquetas deve ser codificado como parâmetros de consulta de URL. | Sim | 

## Metadados do objeto definidos pelo usuário
<a name="UserMetadata"></a>

Ao fazer upload de um objeto, você também pode atribuir metadados ao objeto. Você fornece essas informações opcionais como um par de nome-valor (valor-chave) quando envia uma solicitação `PUT` ou `POST` para criar o objeto. Ao fazer upload de objetos usando a API REST, os nomes de metadados opcionais definidos pelo usuário devem começar com `x-amz-meta-`, para diferenciá-los de outros cabeçalhos HTTP. Quando você recupera o objeto usando a API REST, o prefixo é retornado. Ao fazer upload de objetos usando a API SOAP, o prefixo não é obrigatório. Quando você recupera o objeto usando SOAP API, o prefixo é removido, independentemente da API que você usou para fazer upload do objeto. 

**nota**  
 As APIs SOAP para o Amazon S3 não estão disponíveis para novos clientes e chegam ao fim da vida útil (EOL) em 31 de agosto de 2025. Recomendamos usar a API REST ou os AWS SDKs. 

Quando os metadados são recuperados por meio da API REST, o Amazon S3 combina os cabeçalhos que têm o mesmo nome (sem distinção entre letras maiúsculas e minúsculas) em uma lista delimitada por vírgulas. Se alguns metadados contêm caracteres não imprimíveis, eles não são retornados. Em vez disso, o cabeçalho `x-amz-missing-meta` é retornado com o valor do número de entradas de metadados não imprimíveis. A ação `HeadObject` recupera metadados de um objeto sem retornar o próprio objeto. Essa operação é útil se você estiver interessado apenas nos metadados de um objeto. Para usar `HEAD`, você deve ter acesso `READ` ao objeto. Para obter mais informações, consulte [HeadObject](https://docs.aws.amazon.com/AmazonS3/latest/API/API_HeadObject.html) na *Referência de API do Amazon Simple Storage Service*.

Metadados definidos pelo usuário são um conjunto de pares chave-valor. O Amazon S3 armazena chaves de metadados definidas pelo usuário em minúsculas.

O Amazon S3 permite caracteres Unicode arbitrários em seus valores de metadados.

Para evitar problemas relacionados à apresentação desses valores de metadados, é necessário estar em conformidade com o uso de caracteres US-ASCII ao usar REST e UTF-8 ao usar SOAP ou uploads baseados em navegador via `POST`.

Ao usar caracteres não US-ASCII nos valores de metadados, a string Unicode fornecida é examinada quanto a caracteres não US-ASCII. Os caracteres desses cabeçalhos são decodificados conforme o [RFC 2047](https://datatracker.ietf.org/doc/html/rfc2047) antes do armazenamento e codificados de acordo com o [RFC 2047](https://datatracker.ietf.org/doc/html/rfc2047) antes de retornar para garantir que eles possam ser enviados por e-mail com segurança. Se a string contiver apenas caracteres US-ASCII, ela será apresentada como está.

Veja um exemplo a seguir.

```
PUT /Key HTTP/1.1
Host: amzn-s3-demo-bucket.s3.amazonaws.com
x-amz-meta-nonascii: ÄMÄZÕÑ S3

HEAD /Key HTTP/1.1
Host: amzn-s3-demo-bucket.s3.amazonaws.com
x-amz-meta-nonascii: =?UTF-8?B?w4PChE3Dg8KEWsODwpXDg8KRIFMz?=

PUT /Key HTTP/1.1
Host: amzn-s3-demo-bucket.s3.amazonaws.com
x-amz-meta-ascii: AMAZONS3

HEAD /Key HTTP/1.1
Host: amzn-s3-demo-bucket.s3.amazonaws.com
x-amz-meta-ascii: AMAZONS3
```

**nota**  
O cabeçalho da solicitação `PUT` é limitado a 8 KB. No cabeçalho da solicitação `PUT`, os metadados definidos pelo usuário são limitados a 2 KB. O tamanho de metadados definidos pelo usuário é medido pela soma do número de bytes na codificação UTF-8 de cada chave e valor. 

Para obter informações sobre como alterar os metadados do objeto depois do upload criando uma cópia, modificando e substituindo o objeto antigo ou criando outra versão dele, consulte [Editar metadados de objeto no console do Amazon S3](add-object-metadata.md). 

# Editar metadados de objeto no console do Amazon S3
<a name="add-object-metadata"></a>

Você pode usar o console do Amazon S3 para editar metadados de objetos do S3 existentes por meio da ação **Copiar**. Para editar metadados, você copia objetos para o mesmo destino e especifica os novos metadados que deseja aplicar, os quais substituem os metadados antigos do objeto. Alguns metadados são definidos pelo Amazon S3 quando você faz upload do objeto. Por exemplo, `Content-Length` e `Last-Modified` são campos de metadados de objetos definidos pelo sistema que não podem ser modificados por um usuário.

Você também pode definir metadados definidos pelo usuário ao carregar o objeto e depois substituí-lo conforme suas necessidades mudarem. Por exemplo, você pode ter um conjunto de objetos que você armazena inicialmente na classe de armazenamento `STANDARD`. Com o tempo, pode ser que você não precise mais que esses dados estejam altamente disponíveis. Desse modo, você pode alterar a classe de armazenamento para `GLACIER` substituindo o valor da chave `x-amz-storage-class` de `STANDARD` para `GLACIER`.

**nota**  
Considere o seguinte ao substituir metadados de objeto no Amazon S3:  
É necessário especificar os metadados existentes que deseja reter, os que deseja adicionar e os que deseja editar.
Se o objeto tiver menos de 5 GB, você poderá usar a ação **Copiar** no console do S3 para substituir os metadados do objeto. Se o objeto tiver mais de 5 GB, você poderá substituir os metadados do objeto ao copiá-lo com multipart upload usando a [AWS CLI](mpu-upload-object.md#UsingCLImpUpload) ou os [SDKs da AWS](CopyingObjectsMPUapi.md). Para obter mais informações, consulte [Copiar um objeto usando multipart upload](CopyingObjectsMPUapi.md).
Para obter uma lista das permissões adicionais necessárias para substituir metadados, consulte [Permissões obrigatórias para operações de API do Amazon S3](using-with-s3-policy-actions.md). Para ver exemplos das políticas que concedem essas permissões, consulte [Exemplos de políticas baseadas em identidade para o Amazon S3](example-policies-s3.md).
Essa ação cria uma *cópia* do objeto com configurações atualizadas e a data da última modificação. Se o versionamento do S3 estiver habilitado, uma nova versão do objeto será criada e o objeto existente se tornará uma versão mais antiga. Se a funcionalidade Versionamento do S3 não estiver habilitada, uma nova cópia do objeto substituirá o original. A Conta da AWS associada ao perfil do IAM que altera a propriedade também se torna a proprietária do novo objeto ou (versão do objeto).
Ao editar os metadados, os valores referentes a nomes de chave existentes são substituídos.
Objetos criptografados com chaves de criptografia fornecidas pelo cliente (SSE-C) não podem ser copiados usando o console. Você deve usar a AWS CLI, o AWS SDK ou a API REST do Amazon S3.
Ao copiar um objeto usando o console do Amazon S3, você pode receber a seguinte mensagem de erro: “Não é possível verificar os metadados copiados.” O console usa cabeçalhos para recuperar e definir metadados para o objeto. Se a configuração da rede ou do navegador modificar as solicitações de rede, esse comportamento poderá fazer com que metadados não intencionais (como cabeçalhos `Cache-Control` modificados) sejam gravados no objeto copiado. O Amazon S3 não pode verificar esses metadados não intencionais.  
Para resolver esse problema, verifique a configuração da rede e do navegador para garantir que não modifique cabeçalhos, como `Cache-Control`. Para ter mais informações, consulte o [Modelo de Responsabilidade Compartilhada](https://docs.aws.amazon.com/whitepapers/latest/applying-security-practices-to-network-workload-for-csps/the-shared-responsibility-model.html).

**Atenção**  
Ao substituir metadados referentes a pastas, aguarde a conclusão da ação **Copiar** antes de adicionar novos objetos à pasta. Caso contrário, novos objetos também podem ser editados.

Os tópicos a seguir descrevem como substituir metadados de um objeto usando a ação **Copiar** no console do Amazon S3.

## Substituir metadados definidos pelo sistema
<a name="add-object-metadata-system"></a>

Você pode configurar alguns metadados definidos pelo sistema para um objeto do S3. Para ter uma lista de metadados definidos pelo sistema e de valores que você pode modificar, consulte [Metadados do objeto definidos pelo sistema](UsingMetadata.md#SysMetadata).

**Como substituir metadados definidos pelo sistema de um objeto**

1. Faça login no Console de gerenciamento da AWS e abra o console do Amazon S3 em [https://console.aws.amazon.com/s3/](https://console.aws.amazon.com/s3/).

1. No painel de navegação à esquerda, escolha **Buckets de uso geral** ou **Buckets de diretórios**.

1. Na lista de buckets, escolha o nome do bucket que contém os objetos que você deseja alterar.

1. Marque a caixa de seleção referente aos objetos que você quer alterar.

1. No menu **Ações**, escolha **Copiar** na lista de opções exibida.

1. Para especificar o caminho de destino, escolha **Procurar S3**, navegue até o mesmo destino dos objetos de origem e marque a caixa de seleção do destino. Escolha **Choose destination** (Escolher destino) no canto inferior direito. 

   Outra alternativa é inserir o caminho de destino. 

1. Se o versionamento de bucket *não* estiver habilitado, você verá um aviso recomendando que o habilite para ajudar a impedir a substituição ou exclusão involuntária de objetos. Se você quiser manter todas as versões de objetos neste bucket, selecione **Enable Bucket Versioning** (Ativar versionamento de bucket). Você também pode atualizar as propriedades de criptografia padrão e do Bloqueio de Objetos em **Detalhes do destino**.

1. Em **Configurações adicionais de cópia**, escolha **Especificar configurações** para especificar configurações para **Metadados**.

1. Role até a seção **Metadados** e escolha **Substituir todos os metadados**.

1. Escolha **Add Metadata** (Adicionar metadados).

1. Para **Type (Tipo)** de metadados, selecione **System-defined (Definidos pelo sistema)**.

1. Especifique uma **key (chave)** exclusiva e o **value (valor)** dos metadados.

1. Para editar metadados adicionais, escolha **Add metadata (Adicionar metadados)**. Você também pode escolher **Remove (Remover)** para remover um conjunto de valores de chave de tipo.

1. Escolha **Copiar**. O Amazon S3 salva as alterações feitas nos metadados.

## Substituir metadados definidos pelo usuário
<a name="add-object-metadata-user-defined"></a>

Você pode substituir metadados definidos pelo usuário de um objeto usando o prefixo de metadados, `x-amz-meta-`, e um nome escolhido para criar uma chave personalizada. Por exemplo, se você adicionar o nome personalizado `alt-name`, a chave de metadados será `x-amz-meta-alt-name`. 

Metadados definidos pelo usuário podem ter até 2 KB no total. Para calcular o tamanho total dos metadados definidos pelo usuário, some o número de bytes na codificação UTF-8 referente a cada chave e valor. As duas chaves e seus valores devem estar em conformidade com os padrões US-ASCII. Para obter mais informações, consulte [Metadados do objeto definidos pelo usuário](UsingMetadata.md#UserMetadata).

**Como substituir metadados definidos pelo usuário de um objeto**

1. Faça login no Console de gerenciamento da AWS e abra o console do Amazon S3 em [https://console.aws.amazon.com/s3/](https://console.aws.amazon.com/s3/).

1. No painel de navegação, escolha **Buckets** e selecione a guia **Buckets de uso geral** ou **Buckets de diretório**. Acesse o bucket ou pasta do Amazon S3 que contém os objetos que você quer alterar.

1. Marque a caixa de seleção referente aos objetos que você quer alterar.

1. No menu **Ações**, escolha **Copiar** na lista de opções exibida.

1. Para especificar o caminho de destino, escolha **Procurar S3**, navegue até o mesmo destino dos objetos de origem e marque a caixa de seleção do destino. Escolha **Choose destination (Escolher destino)**. 

   Outra alternativa é inserir o caminho de destino. 

1. Se o versionamento de bucket *não* estiver habilitado, você verá um aviso recomendando que o habilite para ajudar a impedir a substituição ou exclusão involuntária de objetos. Se você quiser manter todas as versões de objetos neste bucket, selecione **Enable Bucket Versioning** (Ativar versionamento de bucket). Você também pode atualizar as propriedades de criptografia padrão e do Bloqueio de Objetos em **Detalhes do destino**.

1. Em **Configurações adicionais de cópia**, escolha **Especificar configurações** para especificar configurações para **Metadados**.

1. Role até a seção **Metadados** e escolha **Substituir todos os metadados**.

1. Escolha **Add Metadata** (Adicionar metadados).

1. Para **Type (Tipo)** de metadados, escolha **User-defined (Definido pelo usuário)**.

1. Insira uma **Key (Chave)** personalizada única após `x-amz-meta-`. Insira também um **value (valor)** dos metadados.

1. Para adicionar metadados extras, escolha **Add metadata (Adicionar metadados)**. Você também pode escolher **Remove (Remover)** para remover um conjunto de valores de chave de tipo. 

1. Escolha **Copiar**. O Amazon S3 salva as alterações feitas nos metadados.

# Descobrir seus dados com tabelas do S3 Metadata
<a name="metadata-tables-overview"></a>

O Amazon S3 Metadata acelera a descoberta de dados ao capturar automaticamente os metadados de objetos nos buckets de uso geral e armazená-los em tabelas do Apache Iceberg totalmente gerenciadas e somente leitura que você pode consultar. Essas tabelas somente leitura são chamadas de *tabelas de metadados*. À medida que objetos são adicionados, atualizados ou removidos dos buckets de uso geral, o S3 Metadata atualiza automaticamente as tabelas de metadados correspondentes para reproduzir as alterações mais recentes.

Por padrão, o S3 Metadata fornece três tipos de metadados: 
+ [Metadados definidos pelo sistema](UsingMetadata.md#SysMetadata), como o horário de criação e a classe de armazenamento de um objeto.
+ Metadados personalizados, como tags e [metadados definidos pelo usuário](UsingMetadata.md#UserMetadata) que foram incluídos durante o upload do objeto.
+ Metadados de eventos, como quando um objeto é atualizado ou excluído, e a Conta da AWS que fez a solicitação.

Com o S3 Metadata, você pode facilmente encontrar, armazenar e consultar metadados para os objetos do S3, para que possa preparar dados rapidamente para uso em analytics de negócios, recuperação de conteúdo, treinamento de modelos de inteligência artificial e machine learning (IA/ML) e muito mais. 

Para cada bucket de uso geral, você pode criar uma configuração de tabela de metadados que contém duas tabelas de metadados complementares:
+ **Tabela de diário**: por padrão, sua configuração de tabela de metadados contém uma *tabela de diário*, que captura eventos referentes aos objetos no bucket. A tabela de diário registra as alterações feitas em seus dados quase em tempo real, ajudando você a identificar novos dados enviados ao seu bucket, rastrear objetos excluídos recentemente, monitorar as transições de ciclo de vida etc. Ela registra novos objetos e atualizações em seus objetos e nos respectivos metadados (aquelas atualizações que exigem uma operação `DELETE` ou `PUT`). 

  A tabela de diário captura apenas metadados somente de eventos de alteração (como uploads, atualizações e exclusões) que ocorrem depois que você cria a configuração da tabela de metadados. Como essa tabela pode ser consultada, é possível auditar as alterações no bucket por meio de consultas SQL simples. 

  A tabela de diário é necessária para cada configuração de tabela de metadados. (Na versão inicial do S3 Metadata, a tabela de diário era chamada de “tabela de metadados”.)

  Para ter mais informações sobre quais dados são armazenados em tabelas de diário, consulte [Esquema de tabelas de diário do S3 Metadata](metadata-tables-schema.md).

  Para ajudar a minimizar os custos de armazenamento, você pode optar por habilitar a expiração de registros da tabela de diário. Para obter mais informações, consulte [Registros expirados da tabela de diário](metadata-tables-expire-journal-table-records.md). 
+ **Tabela de inventário em tempo real**: opcionalmente, você pode adicionar uma *tabela de inventário em tempo real* à configuração da tabela de metadados. A tabela de inventário em tempo real fornece um inventário simples e consultável de todos os objetos e das respectivas versões no bucket para que você possa determinar o estado mais recente dos dados. 

  É possível usar a tabela de inventário em tempo real para simplificar e acelerar os fluxos de trabalho de negócios e as tarefas de big data identificando os objetos que você deseja processar para várias workloads. Por exemplo, você pode consultar a tabela de inventário em tempo real para encontrar todos os objetos armazenados em uma classe de armazenamento específica, todos os objetos com determinadas tags, todos os objetos que não são criptografados com a criptografia do lado do servidor usando chaves do AWS Key Management Service (AWS KMS) (SSE-KMS) etc. 

  Quando você habilita a tabela de inventário em tempo real para a configuração da tabela de metadados, ela passa por um processo conhecido como *preenchimento*, durante o qual o Amazon S3 verifica o bucket de uso geral para recuperar os metadados iniciais de todos os objetos existentes no bucket. Dependendo do número de objetos no bucket, esse processo pode levar de minutos (no mínimo 15 minutos) a horas. Quando o processo de preenchimento é concluído, o status da tabela de inventário em tempo real muda de **Preenchendo** para **Ativo**. Após a conclusão do preenchimento, geralmente as atualizações dos objetos são mostradas na tabela de inventário em tempo real no prazo de uma hora.

  Você recebe cobrança pelo preenchimento da tabela de inventário. Se o bucket de uso geral tiver mais de um bilhão de objetos, você também pagará uma taxa mensal pela tabela de inventário em tempo real. Para obter mais informações, consulte [Preços do Amazon S3](https://aws.amazon.com/s3/pricing/).

  Para ter mais informações sobre quais dados são armazenados nas tabelas de inventário em tempo real, consulte [Esquema de tabelas de inventário em tempo real do S3 Metadata](metadata-tables-inventory-schema.md).

As tabelas de metadados são armazenadas em um bucket de tabela do S3 gerenciado pela AWS, que fornece armazenamento otimizado para dados tabulares. Para consultar metadados, você pode integrar o bucket de tabela ao Amazon SageMaker Lakehouse. Essa integração, que usa o AWS Glue Data Catalog e o AWS Lake Formation, permite que os serviços de analytics da AWS descubram e acessem dados de tabela automaticamente. 

Depois que o bucket de tabela for integrado ao AWS Glue Data Catalog, você poderá consultar diretamente as tabelas de metadados com serviços de analytics da AWS, como Amazon Athena, Amazon EMR e Amazon Redshift. Também é possível criar painéis interativos com os dados de consulta usando o Amazon Quick. Para ter mais informações sobre como integrar um bucket de tabela do S3 gerenciado pela AWS com o Amazon SageMaker Lakehouse, consulte [Integrar a funcionalidade Tabelas do Amazon S3 a serviços de analytics da AWS](s3-tables-integrating-aws.md).

Você também pode consultar as tabelas de metadados com o Apache Spark, o Apache Trino e qualquer outra aplicação que aceite o formato Apache Iceberg usando o endpoint REST do Iceberg do AWS Glue, o endpoint REST do Iceberg da funcionalidade Tabelas do Amazon S3 ou o Catálogo de Tabelas do Amazon S3 para o catálogo de cliente do Apache Iceberg. Para ter mais informações sobre como acessar as tabelas de metadados, consulte [Acessar dados da tabela](s3-tables-access.md).

Para ter informações sobre os preços do S3 Metadata, consulte [Definição de preço do Amazon S3](https://aws.amazon.com/s3/pricing/). 

## Como funcionam as tabelas de metadados
<a name="metadata-tables-how-they-work"></a>

As tabelas de metadados são gerenciadas pelo Amazon S3 e não podem ser modificadas por nenhuma entidade principal do IAM fora do próprio Amazon S3. Entretanto, você pode excluí-las. Por isso, elas são somente leitura, o que ajuda a garantir que elas mostrem corretamente o conteúdo do bucket de uso geral.

Para gerar e armazenar metadados de objetos em tabelas de metadados gerenciadas pela AWS, crie uma configuração de tabela de metadados para o bucket de uso geral. O Amazon S3 foi projetado para atualizar continuamente as tabelas de metadados e mostrar as alterações mais recentes nos dados, desde que a configuração esteja ativa no bucket de uso geral. 

Para criar uma configuração de tabela de metadados, você deve ter as permissões do AWS Identity and Access Management (IAM) necessárias para criar e gerenciar tabelas de metadados. Para obter mais informações, consulte [Definir permissões para configurar tabelas de metadados](metadata-tables-permissions.md).

**Armazenamento, organização e criptografia de tabelas de metadados**  
Quando você cria uma configuração de tabela de metadados, as tabelas de metadados são armazenadas em um bucket de tabela gerenciado pela AWS. Todas as configurações de tabela de metadados na sua conta e na mesma região são armazenadas em um único bucket de tabela gerenciado pela AWS. Esses buckets de tabela gerenciados pela AWS são denominadas `aws-s3` e têm o seguinte formato de nome de recurso da Amazon (ARN): 

`arn:aws:s3tables:region:account_id:bucket/aws-s3`

Por exemplo, se o ID da sua conta for 123456789012 e o bucket de uso geral estiver no Leste dos EUA (Norte da Virgínia) (`us-east-1`), o bucket de tabela gerenciado pela AWS também será criado no Leste dos EUA (Norte da Virgínia) (`us-east-1`) e terá o seguinte ARN:

`arn:aws:s3tables:us-east-1:123456789012:bucket/aws-s3`

Por padrão, os buckets de tabela gerenciados pela AWS são criptografados com a criptografia do lado do servidor usando chaves gerenciadas pelo Amazon S3 (SSE-S3). Depois de criar a primeira configuração de metadados, você pode definir a configuração de criptografia padrão para o bucket de tabela gerenciado pela AWS para usar a criptografia do lado do servidor com chaves do AWS Key Management Service (AWS KMS) (SSE-KMS). Para ter mais informações, consulte [Criptografia para buckets de tabela gerenciados pela AWS](https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-tables-aws-managed-buckets.html#aws-managed-buckets-encryption) e [Especificar a criptografia do lado do servidor com chaves do AWS KMS (SSE-KMS) em buckets de tabela](s3-tables-kms-specify.md).

No bucket de tabela gerenciado pela AWS, as tabelas de metadados da sua configuração geralmente são armazenadas em um namespace com o seguinte formato de nomenclatura: 

`b_general-purpose-bucket-name`

**nota**  
Se o nome do bucket de uso geral contiver pontos, eles serão convertidos em sublinhados (`_`) no nome do namespace. 
Se o bucket de uso geral tiver sido criado antes de 1.º de março de 2018, é provável que o respectivo nome contenha letras maiúsculas e sublinhados e tenha até 255 caracteres. Se o nome do bucket tiver essas características, o namespace da tabela de metadados terá um formato diferente. O nome do bucket de uso geral será prefixado com `b_`, truncado em 63 caracteres, convertido em minúsculas e sufixado com um hash. 

As tabelas de metadados têm o seguinte formato de nome do recurso da Amazon (ARN), que inclui o respectivo ID: 

`arn:aws:s3tables:region-code:account-id:bucket/aws-s3/table/table-id`

Por exemplo, uma tabela de metadados na região Leste dos EUA (Norte da Virgínia) teria um ARN como o seguinte:

`arn:aws:s3tables:us-east-1:111122223333:bucket/aws-s3/table/a12bc345-67d8-912e-3456-7f89123g4h56`

As tabelas de diário e as tabelas de inventário em tempo real têm o nome `journal` e `inventory`, respectivamente.

Ao criar sua configuração de tabela de metadados, você pode optar por criptografar as tabelas de metadados gerenciadas pela AWS com a criptografia do lado do servidor usando chaves do AWS Key Management Service (AWS KMS) (SSE-KMS). Se você optar por usar o SSE-KMS, deverá fornecer uma chave do KMS gerenciada pelo cliente na mesma região do bucket de uso geral. Você pode definir o tipo de criptografia para uma tabela somente ao criá-la. Após a criação de uma tabela gerenciada pela AWS, não é possível alterar a configuração de criptografia. Para especificar o SSE-KMS para uma tabela de metadados, é necessário ter determinadas permissões. Para ter mais informações, consulte [Permissões para SSE-KMS](metadata-tables-permissions.md#metadata-kms-permissions).

A configuração de criptografia de uma tabela de metadados tem precedência sobre a configuração de criptografia padrão em nível de bucket. Se você não especificar a criptografia para uma tabela, ela herdará a configuração de criptografia padrão do bucket.

Os buckets de tabela gerenciados pela AWS não são contabilizados nas cotas da funcionalidade Tabelas do S3. Para ter mais informações sobre como trabalhar com buckets de tabela gerenciados pela AWS e tabelas gerenciadas pela AWS, consulte [Trabalhar com buckets de tabela gerenciados pela AWS](https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-tables-aws-managed-buckets.html).

Para monitorar as atualizações na configuração de tabelas de metadados, você pode usar o AWS CloudTrail. Para obter mais informações, consulte [Ações de buckets do Amazon S3 rastreadas pelo registro em log do CloudTrail](cloudtrail-logging-s3-info.md#cloudtrail-bucket-level-tracking). 

**Manutenção de tabelas de metadados e expiração de registros**  
Para manter as tabelas de metadados do com a melhor performance, o Amazon S3 realiza atividades de manutenção periódicas nas tabelas, como compactação e remoção de arquivos sem referência. Essas atividades de manutenção ajudam a minimizar o custo de armazenamento das tabelas de metadados e a otimizar a performance das consultas. Essa manutenção das tabelas ocorre automaticamente, não exigindo adesão nem gerenciamento contínuo da sua parte.

**nota**  
Não é possível controlar a expiração dos snapshots da tabela de diário ou da tabela de inventário. Para cada tabela, o Amazon S3 armazena no mínimo um snapshot por no máximo 24 horas.
Para ajudar a minimizar os custos, você pode configurar a expiração de registros da tabela de diário. Por padrão, os registros da tabela de diário não expiram, e eles devem ser retidos por no mínimo sete dias. Para obter mais informações, consulte [Registros expirados da tabela de diário](metadata-tables-expire-journal-table-records.md).

**Topics**
+ [Como funcionam as tabelas de metadados](#metadata-tables-how-they-work)
+ [Limitações e restrições das tabelas de metadados](metadata-tables-restrictions.md)
+ [Esquema de tabelas de diário do S3 Metadata](metadata-tables-schema.md)
+ [Esquema de tabelas de inventário em tempo real do S3 Metadata](metadata-tables-inventory-schema.md)
+ [Configurar tabelas de metadados](metadata-tables-configuring.md)
+ [Consultar tabelas de metadados](metadata-tables-querying.md)
+ [Solução de problemas do S3 Metadata](metadata-tables-troubleshooting.md)

# Limitações e restrições das tabelas de metadados
<a name="metadata-tables-restrictions"></a>

O Amazon S3 Metadata tem as seguintes limitações e restrições: 
+ No momento, o S3 Metadata está disponível apenas em determinadas regiões. Para obter mais informações, consulte [Regiões da AWS do S3 Metadata](#metadata-tables-regions).
+ O S3 Metadata admite todas as classes de armazenamento que os buckets de uso geral aceitam. Para a classe de armazenamento S3 Intelligent-Tiering, o nível específico não é mostrado na tabela de metadados.
+ Quando você cria uma configuração de tabela de metadados, as tabelas de metadados são armazenadas em um bucket de tabelas gerenciado pela AWS. Sua configuração não pode ser armazenada em um bucket de tabela gerenciado pelo cliente.
+ O S3 Metadata não é compatível com buckets de diretório, buckets de tabela ou buckets de vetores. Você pode criar configurações de tabelas de metadados somente para buckets de uso geral. A tabela de diário captura metadados apenas para eventos de alteração (como uploads, atualizações e exclusões) que ocorrem depois que a configuração da tabela de metadados é criada.
+ Não é possível controlar a expiração dos snapshots da tabela de diário ou da tabela de inventário. Para cada tabela, o Amazon S3 armazena no mínimo um snapshot por no máximo 24 horas. 

  Para ajudar a minimizar os custos, você pode configurar a expiração de registros da tabela de diário. Por padrão, os registros da tabela de diário não expiram, e eles devem ser retidos por no mínimo sete dias. Para obter mais informações, consulte [Registros expirados da tabela de diário](metadata-tables-expire-journal-table-records.md).
+ Só é possível criar uma configuração de tabelas de metadados para um bucket de uso geral inteiro. Não é possível aplicar uma configuração de tabelas de metadados ao nível do prefixo.
+ Não é possível pausar e retomar as atualizações em uma tabela de metadados. No entanto, você pode excluir sua configuração de metadados correspondente para tabelas de diário ou de inventário em tempo real. A exclusão da configuração não exclui o diário ou a tabela de inventário correspondente. Para recriar sua configuração, você deve primeiro excluir a tabela de diário ou de inventário antiga, para que o Amazon S3 possa criar outra tabela de diário ou de inventário. Quando você reabilita a tabela de inventário, o Amazon S3 cria outra tabela de inventário, e você recebe cobrança novamente pelo preenchimento dessa nova tabela.
+ As tabelas de metadados não contêm os mesmos metadados que estão disponíveis por meio da funcionalidade Inventário S3 ou da API REST do Amazon S3. Por exemplo, as seguintes informações não estão disponíveis nas tabelas de metadados: 
  + Status de elegibilidade para expiração ou de transição do Ciclo de Vida do S3
  + Período de retenção ou modo de governança da funcionalidade Bloqueio de Objetos
  + Informações da lista de controle de acesso (ACL) do objeto
  + Status de replicação
+ Ao usar o Amazon Athena ou o Amazon Redshift para consultar tabelas de metadados, você deve colocar o nome dos namespaces da tabela de metadados entre aspas (`"`) ou acentos graves (```); do contrário, a consulta pode não funcionar. Para obter exemplos, consulte [Exemplos de consultas a tabelas de metadados](metadata-tables-example-queries.md).
+ Ao usar o Apache Spark no Amazon EMR ou em outros mecanismos de terceiros para consultar tabelas de metadados, recomendamos que você use o endpoint REST do Iceberg da funcionalidade Tabelas do Amazon S3. Sua consulta pode não ser executada com êxito se você não usar esse endpoint. Para obter mais informações, consulte [Acessar tabelas usando o endpoint Iceberg REST do serviço Tabelas do Amazon S3](s3-tables-integrating-open-source.md).

## Regiões da AWS do S3 Metadata
<a name="metadata-tables-regions"></a>

No momento, o S3 Metadata está disponível nas seguintes Regiões da AWS:


|  Nome da Região da AWS  |  Região da AWSCódigo   | 
| --- | --- | 
|  Africa (Cape Town)  |  `af-south-1`  | 
|  Ásia-Pacífico (Hong Kong)  |  `ap-east-1`  | 
|  Ásia-Pacífico (Jacarta)  |  `ap-southeast-3`  | 
|  Ásia-Pacífico (Melbourne)  |  `ap-southeast-4`  | 
|  Ásia-Pacífico (Mumbai)  |  `ap-south-1`  | 
|  Ásia-Pacífico (Osaka)  |  `ap-northeast-3`  | 
|  Ásia-Pacífico (Seul)  |  `ap-northeast-2`  | 
|  Ásia-Pacífico (Singapura)  |  `ap-southeast-1`  | 
|  Ásia-Pacífico (Sydney)  |  `ap-southeast-2`  | 
|  Ásia-Pacífico (Tóquio)  |  `ap-northeast-1`  | 
|  Canadá (Central)  |  `ca-central-1`  | 
|  Oeste do Canadá (Calgary)  |  `ca-west-1`  | 
|  Europa (Frankfurt)  |  `eu-central-1`  | 
|  Europa (Zurique)  |  `eu-central-2`  | 
|  Europa (Irlanda)  |  `eu-west-1`  | 
|  Europa (Londres)  |  `eu-west-2`  | 
|  Europa (Milão)  |  `eu-south-1`  | 
|  Europe (Paris)  |  `eu-west-3`  | 
|  Europa (Espanha)  |  `eu-south-2`  | 
|  Europa (Estocolmo)  |  `eu-north-1`  | 
|  Israel (Tel Aviv)  |  `il-central-1`  | 
|  Oriente Médio (Bahrein)  |  `me-south-1`  | 
|  Oriente Médio (Emirados Árabes Unidos)  |  `me-central-1`  | 
|  América do Sul (São Paulo)  |  `sa-east-1`  | 
|  Leste dos EUA (Norte da Virgínia)  |  `us-east-1`  | 
|  Leste dos EUA (Ohio)  |  `us-east-2`  | 
|  Oeste dos EUA (N. da Califórnia)  |  `us-west-1`  | 
|  Oeste dos EUA (Oregon)  |  `us-west-2`  | 

# Esquema de tabelas de diário do S3 Metadata
<a name="metadata-tables-schema"></a>

A tabela de diário registra as alterações feitas em seus dados quase em tempo real, ajudando você a identificar novos dados enviados ao seu bucket, rastrear objetos excluídos recentemente, monitorar as transições de ciclo de vida etc. Ela registra novos objetos e atualizações em seus objetos e nos respectivos metadados (aquelas atualizações que exigem uma operação `DELETE` ou `PUT`). Como essa tabela pode ser consultada, é possível auditar as alterações no bucket por meio de consultas SQL simples. 

Você pode usar a tabela de diário em casos de uso de segurança, auditoria e conformidade para rastrear objetos carregados, excluídos e alterados no bucket. Por exemplo, você pode consultar a tabela de diário para responder a perguntas como: 
+ Quais objetos foram excluídos nas últimas 24 horas pelo Ciclo de Vida do S3?
+ De quais endereços IP vieram as solicitações `PUT` mais recentes?
+ Quais chaves do AWS Key Management Service (AWS KMS) foram usadas para solicitações `PUT` nos últimos sete dias?
+ Quais objetos em seu bucket foram criados pelo Amazon Bedrock nos últimos cinco dias?

As tabelas de diário do Amazon S3 Metadata contêm linhas e colunas. Cada linha representa um evento de mutação que criou, atualizou ou excluiu um objeto no bucket de uso geral. A maioria desses eventos resulta de várias ações dos usuários, mas alguns deles resultam de ações executadas pelo Amazon S3 em seu nome, como expirações ou transições de classes de armazenamento do Ciclo de Vida do S3. 

As tabelas de diário do S3 Metadata apresentam consistência final com as alterações que ocorreram no bucket de uso geral. Em alguns casos, no momento em que o S3 Metadata for notificado de que um objeto foi criado ou atualizado, pode ser que esse objeto já tenha sido substituído ou excluído do bucket. Nessas circunstâncias, os objetos não podem mais ser recuperados e algumas colunas podem mostrar um valor NULL para indicar que não há um esquema de metadados.

O seguinte exemplo mostra uma tabela de diário para um bucket de uso geral denominado `amzn-s3-demo-bucket:`: 

```
bucket                key                        sequence_number                                                                                          record_type   record_timestamp           version_id   is_delete_marker   size   last_modified_date   e_tag	                           storage_class  is_multipart   encryption_status   is_bucket_key_enabled   kms_key_arn                                                                   checksum_algorithm   object_tags   user_metadata	                                                                                                                 requester      source_ip_address   request_id 
amzn-s3-demo-bucket   Finance/statement1.pdf     80e737d8b4d82f776affffffffffffffff006737d8b4d82f776a00000000000000000000000000000000000000000000000072   CREATE        2024-11-15 23:26:44.899                 FALSE              6223   11/15/2024 23:26     e131b86632dda753aac4018f72192b83    STANDARD	  FALSE          SSE-KMS             FALSE                   arn:aws:kms:us-east-1:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890df   SSECRC32             {}            {count -> Asia, customs -> false, family -> true, location -> Mary, name -> football, user -> United States}                       111122223333   192.0.2.1           CVK8FWYRW0M9JW65
amzn-s3-demo-bucket   s3-dg.pdf                  80e737d8b4e39f1dbdffffffffffffffff006737d8b4e39f1dbd00000000000000000000000000000000000000000000000072   CREATE        2024-11-15 23:26:44.942                 FALSE              3554   11/15/2024 23:26     9bb49efc2d92c05558ddffbbde8636d5    STANDARD	  FALSE          DSSE-KMS            FALSE                   arn:aws:kms:us-east-1:936810216292:key/0dcebce6-49fd-4cae-b2e2-5512ad281afd   SSESHA1              {}            {}                                                                                                                                 111122223333   192.0.2.1           CVKAQDRAZEG7KXAY
amzn-s3-demo-bucket   Development/Projects.xls   80e737d8b4ed9ac5c6ffffffffffffffff006737d8b4ed9ac5c600000000000000000000000000000000000000000000000072   CREATE        2024-11-15 23:26:44.966                 FALSE              7746   11/15/2024 23:26     729a6863e47fb9955b31bfabce984908    STANDARD	  FALSE          SSE-S3              FALSE                   NULL                                                                          SSECRC32             {}            {count -> Asia, customs -> Canada, family -> Billiards, filter -> true, location -> Europe, name -> Asia, user -> United States}   111122223333   192.0.2.1           CVK7Z6XQTQ90BSRV
```

As tabelas de diário têm o seguinte esquema:


| Nome da coluna | Obrigatório? | Tipo de dados |   | 
| --- | --- | --- | --- | 
| `bucket` | Sim | String | O nome do bucket de uso geral. Para obter mais informações, consulte [Regras de nomenclatura de buckets de uso geral](bucketnamingrules.md). | 
| `key` | Sim | String | O nome da chave de objeto (ou chave) que identifica o objeto no bucket de maneira única. Para obter mais informações, consulte [Nomear objetos do Amazon S3](object-keys.md). | 
| `sequence_number` | Sim | String | O número de sequência, que é um ordinal incluído nos registros de determinado objeto. Para ordenar registros do mesmo bucket e chave, você pode classificar por `sequence_number`. Para um bucket e uma chave específicos, um valor `sequence_number` maior em ordem lexicográfica implica que o registro foi introduzido no bucket mais recentemente. | 
| `record_type` | Sim | String | O tipo desse registro, que pode ser `CREATE`, `UPDATE_METADATA` ou `DELETE`. Registros `CREATE` indicam que um novo objeto (ou uma nova versão do objeto) foi gravado no bucket. Registros `UPDATE_METADATA` capturam alterações nos metadados mutáveis de um objeto existente, como a classe de armazenamento ou as tags. Registros `DELETE` indicam que esse objeto (ou essa versão do objeto) foi excluído. Quando o versionamento está habilitado, os registros `DELETE` representam um marcador de exclusão ou uma exclusão permanente. Para remover ainda mais a ambiguidade, consulte a coluna opcional `is_delete_marker`. Para obter mais informações, consulte [Excluir versões de objetos de um bucket com versionamento habilitado](DeletingObjectVersions.md).  Uma exclusão permanente carrega vários `NULL` em todas as colunas, *exceto* `bucket`, `key`, `sequence_number`, `record_type`, `record_timestamp` e `version_id` (isto é, as colunas marcadas como obrigatórias).  | 
| `record_timestamp` | Sim | Carimbo de data/hora NTZ (sem fuso horário) | O carimbo de data/hora associado a esse registro. | 
| `version_id` | Não | String |  O ID da versão do objeto. Quando você habilita o versionamento em um bucket, o Amazon S3 atribui um número de versão aos objetos adicionados ao bucket. Para obter mais informações, consulte [Reter várias versões de objetos com o Versionamento do S3](Versioning.md). Os objetos que são armazenados no bucket antes da habilitação do versionamento têm um ID de versão nulo.  | 
| `is_delete_marker` | Não | Booleano |  O status do marcador de exclusão do objeto. Para registros DELETE que são marcadores de exclusão, esse valor é`TRUE`. Para exclusões permanentes, esse valor é omitido (`NULL`). Outros tipos de registro (CREATE e UPDATE\$1METADATA) têm valor. `FALSE`. Para obter mais informações, consulte [Trabalhar com marcadores de exclusão](DeleteMarker.md).  As linhas adicionadas para marcadores de exclusão têm um valor `DELETE` para `record_type`, não `UPDATE_METADATA`. Se o marcador de exclusão for criado como resultado de uma expiração da funcionalidade Ciclo de Vida do S3, o valor de `requester` será `s3.amazonaws.com`.   | 
| `size` | Não | Longo | O tamanho do objeto em bytes, sem incluir o tamanho de uploads fracionados incompletos ou metadados de objetos. Se `is_delete_marker` for `TRUE`, o tamanho será `0`. Para obter mais informações, consulte [Metadados do objeto definidos pelo sistema](UsingMetadata.md#SysMetadata). | 
| `last_modified_date` | Não | Carimbo de data/hora NTZ (sem fuso horário) | A data de criação do objeto ou data da última modificação, o que aconteceu por último. Para uploads fracionados, a data de criação do objeto é a data em que o upload fracionado foi inicializado. Para obter mais informações, consulte [Metadados do objeto definidos pelo sistema](UsingMetadata.md#SysMetadata). | 
| `e_tag` | Não | String | A tag de entidade (ETag), que é um hash do objeto. O ETag reflete as alterações apenas no conteúdo de um objeto, não em seus metadados. A ETag pode ser um resumo MD5 dos dados do objeto. O fato de a ETag ser um resumo MD5 depende de como o objeto foi criado e de como ele é criptografado. Para obter mais informações, consulte [https://docs.aws.amazon.com/AmazonS3/latest/API/API_Object.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_Object.html) na *Referência da API do Amazon S3*. | 
| `storage_class` | Não | String | A classe de armazenamento usada para armazenar o objeto. Uma destas opções: `STANDARD`, `REDUCED_REDUNDANCY`, `STANDARD_IA`, `ONEZONE_IA`, `INTELLIGENT_TIERING`, `GLACIER`, `DEEP_ARCHIVE` ou `GLACIER_IR`. Para obter mais informações, consulte [Compreender e gerenciar classes de armazenamento do Amazon S3](storage-class-intro.md). | 
| `is_multipart` | Não | Booleano | O tipo de upload do objeto. Se o objeto foi carregado como um upload fracionado, esse valor será `TRUE`. Caso contrário, será `FALSE`. Para obter mais informações, consulte [Carregar e copiar objetos usando upload fracionado no Amazon S3](mpuoverview.md). | 
| `encryption_status` | Não | String | O status da criptografia do lado do servidor, dependendo do tipo de chave de criptografia usada: criptografia do lado do servidor com chaves gerenciadas pelo Amazon S3 (SSE-S3), criptografia do lado do servidor com chaves do AWS Key Management Service (AWS KMS) (SSE-KMS), criptografia de camada dupla do lado do servidor com AWS KMS keys (DSSE-KMS) ou criptografia do lado do servidor com chaves fornecidas pelo cliente (SSE-C). Se o objeto não estiver criptografado, esse valor será nulo. Os valores possíveis são `SSE-S3`, `SSE-KMS`, `DSSE-KMS`, `SSE-C` ou nulo. Para obter mais informações, consulte [Proteger dados com criptografia](UsingEncryption.md). | 
| `is_bucket_key_enabled` | Não | Booleano | O status de habilitação da chave de bucket do S3 do objeto. Se o objeto usar uma chave de bucket do S3 para SSE-KMS, esse valor será `TRUE`. Caso contrário, será `FALSE`. Para obter mais informações, consulte [Configurar uma chave de bucket do S3 no nível de objeto](configuring-bucket-key-object.md). | 
| `kms_key_arn` | Não | String |  O nome do recurso da Amazon (ARN) para a chave do KMS com a qual o objeto é criptografado, para linhas em que `encryption_status` é `SSE-KMS` ou `DSSE-KMS`. Se o objeto não estiver criptografado com SSE-KMS ou DSSE-KMS, o valor será nulo. Para obter mais informações, consulte [Usar criptografia do lado do servidor com o AWS KMS (SSE-KMS)](UsingKMSEncryption.md) e [Usar criptografia de camada dupla do lado do servidor com chaves do AWS KMS (DSSE-KMS)](UsingDSSEncryption.md).  Se uma linha representa uma versão do objeto que não existia mais no momento em que um evento de exclusão ou substituição foi processado, `kms_key_arn` conterá um valor nulo, mesmo que o valor da coluna `encryption_status` seja `SSE-KMS` ou `DSSE-KMS`.   | 
| `checksum_algorithm` | Não | String | O algoritmo usado para criar a soma de verificação do objeto, podendo ser `CRC64NVME`, `CRC32`, `CRC32C`, `SHA1` ou `SHA256`. Se nenhuma soma de verificação estiver presente, esse valor será nulo. Para obter mais informações, consulte [Usar algoritmos de soma de verificação compatíveis](checking-object-integrity-upload.md#using-additional-checksums). | 
| `object_tags` | Não | Mapa <String, String> |  As tags que estão associadas ao objeto. As tags de objeto são armazenadas como um mapa de pares de chave/valor. Se um objeto não tiver nenhum tag, um mapa vazio (`{}`) será armazenado. Para obter mais informações, consulte [Categorizar objetos usando tags](object-tagging.md).  Se o valor de `record_type` for `DELETE`, a coluna `object_tags` conterá um valor nulo. Se o valor de `record_type` for `CREATE` ou `UPDATE_METADATA`, as linhas que representam versões de objetos que não existiam mais no momento em que um evento de exclusão ou substituição foi processado conterão um valor nulo na coluna `object_tags`.    | 
| `user_metadata` | Não | Mapa <String, String> |  Os metadados de usuários associados ao objeto. Os metadados de usuários são armazenados como um mapa de pares de chave/valor. Se um objeto não tiver nenhum metadado de usuário, um mapa vazio (`{}`) será armazenado. Para obter mais informações, consulte [Metadados do objeto definidos pelo usuário](UsingMetadata.md#UserMetadata).   Se o valor de `record_type` for `DELETE`, a coluna `user_metadata` conterá um valor nulo. Se o valor de `record_type` for `CREATE` ou `UPDATE_METADATA`, as linhas que representam versões de objetos que não existiam mais no momento em que um evento de exclusão ou substituição foi processado conterão um valor nulo na coluna `user_metadata`.   | 
| `requester` | Não | String | O ID da Conta da AWS do solicitante ou da entidade principal do AWS service (Serviço da AWS) que fez a solicitação. Por exemplo, se o solicitante for a funcionalidade Ciclo de Vida do S3, esse valor será `s3.amazonaws.com`.  | 
| `source_ip_address` | Não | String | O endereço IP de origem da solicitação. Para registros gerados por uma solicitação de usuário, esta coluna contém o endereço IP de origem da solicitação. Para ações realizadas pelo Amazon S3 ou outro AWS service (Serviço da AWS) em nome do usuário, esta coluna contém um valor nulo. | 
| `request_id` | Não | String | O ID associado à solicitação. | 

# Esquema de tabelas de inventário em tempo real do S3 Metadata
<a name="metadata-tables-inventory-schema"></a>

A tabela de inventário em tempo real fornece um inventário simples e consultável de todos os objetos e das respectivas versões no bucket para que você possa determinar o estado mais recente dos dados. As atualizações de objeto geralmente são mostradas na tabela de inventário no prazo de uma hora.

É possível usar essa tabela para simplificar e acelerar fluxos de trabalho de negócios e tarefas de big data identificando objetos que você deseja processar para várias workloads. Por exemplo, você pode consultar a tabela de inventário para fazer o seguinte: 
+ Encontrar todos os objetos armazenados na classe de armazenamento S3 Glacier Deep Archive.
+ Criar uma distribuição de tags de objeto ou encontrar objetos sem tags.
+ Encontrar todos os objetos que não são criptografados usando a criptografia do lado do servidor com chaves do AWS Key Management Service (AWS KMS) (SSE-KMS). 

Quando você habilita a tabela de inventário para sua configuração de tabela de metadados, ela passa por um processo conhecido como *preenchimento*, durante o qual o Amazon S3 verifica o bucket de uso geral para recuperar os metadados iniciais de todos os objetos no bucket. Dependendo do número de objetos no bucket, esse processo pode levar de minutos (no mínimo 15 minutos) a horas. Quando o processo de preenchimento é concluído, o status da tabela de inventário muda de **Preenchendo** para **Ativo**. Depois que o preenchimento é concluído, geralmente as atualizações dos objetos são mostradas na tabela de inventário no prazo de uma hora.

**nota**  
Você recebe cobrança pelo preenchimento da tabela de inventário. Se o bucket de uso geral tiver mais de um bilhão de objetos, você também pagará uma taxa mensal pela tabela de inventário. Para obter mais informações, consulte [Preços do Amazon S3](https://aws.amazon.com/s3/pricing/).

As tabelas de inventário do Amazon S3 contêm linhas e colunas. Cada linha representa o estado atual de um objeto no bucket de uso geral. A tabela de inventário fornece um inventário simples e consultável de todos os objetos no bucket para que você possa determinar o estado atual dos dados.

O seguinte exemplo mostra uma tabela de inventário para um bucket de uso geral denominado `amzn-s3-demo-bucket:`: 

```
bucket                key                        sequence_number                                                                                          version_id   is_delete_marker   size   last_modified_date   e_tag	                          storage_class   is_multipart   encryption_status   is_bucket_key_enabled   kms_key_arn                                                                   checksum_algorithm   object_tags   user_metadata	                                                                                                                  
amzn-s3-demo-bucket   Finance/statement1.pdf     80e737d8b4d82f776affffffffffffffff006737d8b4d82f776a00000000000000000000000000000000000000000000000072                FALSE              6223   11/15/2024 23:26     e131b86632dda753aac4018f72192b83    STANDARD	  FALSE          SSE-KMS             FALSE                   arn:aws:kms:us-east-1:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890df   SSECRC32             {}            {count -> Asia, customs -> false, family -> true, location -> Mary, name -> football, user -> United States}                      
amzn-s3-demo-bucket   s3-dg.pdf                  80e737d8b4e39f1dbdffffffffffffffff006737d8b4e39f1dbd00000000000000000000000000000000000000000000000072                FALSE              3554   11/15/2024 23:26     9bb49efc2d92c05558ddffbbde8636d5    STANDARD	  FALSE          DSSE-KMS            FALSE                   arn:aws:kms:us-east-1:936810216292:key/0dcebce6-49fd-4cae-b2e2-5512ad281afd   SSESHA1              {}            {}                                                                                                                                
amzn-s3-demo-bucket   Development/Projects.xls   80e737d8b4ed9ac5c6ffffffffffffffff006737d8b4ed9ac5c600000000000000000000000000000000000000000000000072                FALSE              7746   11/15/2024 23:26     729a6863e47fb9955b31bfabce984908    STANDARD	  FALSE          SSE-S3              FALSE                   NULL                                                                          SSECRC32             {}            {count -> Asia, customs -> Canada, family -> Billiards, filter -> true, location -> Europe, name -> Asia, user -> United States}
```

As tabelas de inventário têm o seguinte esquema:


| Nome da coluna | Obrigatório? | Tipo de dados |   | 
| --- | --- | --- | --- | 
|  `bucket`  | Sim | String | O nome do bucket de uso geral. Para obter mais informações, consulte [Regras de nomenclatura de buckets de uso geral](bucketnamingrules.md). | 
|  `key`  | Sim | String | O nome da chave de objeto (ou chave) que identifica o objeto no bucket de maneira única. Para obter mais informações, consulte [Nomear objetos do Amazon S3](object-keys.md). | 
|  `sequence_number`  | Sim | String |  O número de sequência, que é um ordinal incluído nos registros de determinado objeto. Para ordenar registros do mesmo bucket e chave, você pode classificar por `sequence_number`. Para um bucket e uma chave específicos, um valor `sequence_number` maior em ordem lexicográfica implica que o registro foi introduzido no bucket mais recentemente.  | 
|  `version_id`  | Não | String |  O ID da versão do objeto. Quando você habilita o versionamento em um bucket, o Amazon S3 atribui um número de versão aos objetos adicionados ao bucket. Para obter mais informações, consulte [Reter várias versões de objetos com o Versionamento do S3](Versioning.md). Os objetos que são armazenados no bucket antes da habilitação do versionamento têm um ID de versão nulo.  | 
|  `is_delete_marker`  | Não | Booleano |  O status do marcador de exclusão do objeto. Se o objeto for um marcador de exclusão, esse valor será `True`. Caso contrário, será `False`. Para obter mais informações, consulte [Trabalhar com marcadores de exclusão](DeleteMarker.md).  As linhas adicionadas para marcadores de exclusão têm um valor `DELETE` para `record_type`, não `UPDATE_METADATA`. Se o marcador de exclusão for criado como resultado de uma expiração da funcionalidade Ciclo de Vida do S3, o valor de `requester` será `s3.amazonaws.com`.   | 
|  `size`  | Não | Longo |  O tamanho do objeto em bytes, sem incluir o tamanho de uploads fracionados incompletos ou metadados de objetos. Se `is_delete_marker` for `True`, o tamanho será `0`. Para obter mais informações, consulte [Metadados do objeto definidos pelo sistema](UsingMetadata.md#SysMetadata).  | 
|  `last_modified_date`  | Não | Carimbo de data/hora NTZ (sem fuso horário) |  A data de criação do objeto ou data da última modificação, o que aconteceu por último. Para uploads fracionados, a data de criação do objeto é a data em que o upload fracionado foi inicializado. Para obter mais informações, consulte [Metadados do objeto definidos pelo sistema](UsingMetadata.md#SysMetadata).  | 
|  `e_tag`  | Não | String |  A tag de entidade (ETag), que é um hash do objeto. O ETag reflete as alterações apenas no conteúdo de um objeto, não em seus metadados. A ETag pode ser um resumo MD5 dos dados do objeto. O fato de a ETag ser um resumo MD5 depende de como o objeto foi criado e de como ele é criptografado. Para obter mais informações, consulte [https://docs.aws.amazon.com/AmazonS3/latest/API/API_Object.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_Object.html) na *Referência da API do Amazon S3*.  | 
|  `storage_class`  | Não | String |  A classe de armazenamento usada para armazenar o objeto. Uma destas opções: `STANDARD`, `REDUCED_REDUNDANCY`, `STANDARD_IA`, `ONEZONE_IA`, `INTELLIGENT_TIERING`, `GLACIER`, `DEEP_ARCHIVE` ou `GLACIER_IR`. Para obter mais informações, consulte [Compreender e gerenciar classes de armazenamento do Amazon S3](storage-class-intro.md).  | 
|  `is_multipart`  | Não | Booleano |  O tipo de upload do objeto. Se o objeto foi carregado como um upload fracionado, esse valor será `True`. Caso contrário, será `False`. Para obter mais informações, consulte [Carregar e copiar objetos usando upload fracionado no Amazon S3](mpuoverview.md).  | 
|  `encryption_status`  | Não | String |  O status da criptografia do lado do servidor, dependendo do tipo de chave de criptografia usada: criptografia do lado do servidor com chaves gerenciadas pelo Amazon S3 (SSE-S3), criptografia do lado do servidor com chaves do AWS Key Management Service (AWS KMS) (SSE-KMS), criptografia de camada dupla do lado do servidor com AWS KMS keys (DSSE-KMS) ou criptografia do lado do servidor com chaves fornecidas pelo cliente (SSE-C). Se o objeto não estiver criptografado, esse valor será nulo. Os valores possíveis são `SSE-S3`, `SSE-KMS`, `DSSE-KMS`, `SSE-C` ou nulo. Para obter mais informações, consulte [Proteger dados com criptografia](UsingEncryption.md).  | 
|  `is_bucket_key_enabled`  | Não | Booleano |  O status de habilitação da chave de bucket do S3 do objeto. Se o objeto usar uma chave de bucket do S3 para SSE-KMS, esse valor será `True`. Caso contrário, será `False`. Para obter mais informações, consulte [Configurar uma chave de bucket do S3 no nível de objeto](configuring-bucket-key-object.md).  | 
|  `kms_key_arn`  | Não | String |  O nome do recurso da Amazon (ARN) para a chave do KMS com a qual o objeto é criptografado, para linhas em que `encryption_status` é `SSE-KMS` ou `DSSE-KMS`. Se o objeto não estiver criptografado com SSE-KMS ou DSSE-KMS, o valor será nulo. Para obter mais informações, consulte [Usar criptografia do lado do servidor com o AWS KMS (SSE-KMS)](UsingKMSEncryption.md) e [Usar criptografia de camada dupla do lado do servidor com chaves do AWS KMS (DSSE-KMS)](UsingDSSEncryption.md).  Se uma linha representa uma versão do objeto que não existia mais no momento em que um evento de exclusão ou substituição foi processado, `kms_key_arn` conterá um valor nulo, mesmo que o valor da coluna `encryption_status` seja `SSE-KMS` ou `DSSE-KMS`.   | 
|  `checksum_algorithm`  | Não | String |  O algoritmo usado para criar a soma de verificação do objeto, podendo ser `CRC64-NVME`, `CRC32`, `CRC32C`, `SHA1` ou `SHA256`. Se nenhuma soma de verificação estiver presente, esse valor será nulo. Para obter mais informações, consulte [Usar algoritmos de soma de verificação compatíveis](checking-object-integrity-upload.md#using-additional-checksums).  | 
|  `object_tags`  | Não | Mapa <String, String> |  As tags que estão associadas ao objeto. As tags de objeto são armazenadas como um mapa de pares de chave/valor. Se um objeto não tiver nenhum tag, um mapa vazio (`{}`) será armazenado. Para obter mais informações, consulte [Categorizar objetos usando tags](object-tagging.md).  Se o valor de `record_type` for `DELETE`, a coluna `object_tags` conterá um valor nulo. Se o valor de `record_type` for `CREATE` ou `UPDATE_METADATA`, as linhas que representam versões de objetos que não existiam mais no momento em que um evento de exclusão ou substituição foi processado conterão um valor nulo na coluna `object_tags`.    | 
|  `user_metadata`  | Não | Mapa <String, String> |  Os metadados de usuários associados ao objeto. Os metadados de usuários são armazenados como um mapa de pares de chave/valor. Se um objeto não tiver nenhum metadado de usuário, um mapa vazio (`{}`) será armazenado. Para obter mais informações, consulte [Metadados do objeto definidos pelo usuário](UsingMetadata.md#UserMetadata).   Se o valor de `record_type` for `DELETE`, a coluna `user_metadata` conterá um valor nulo. Se o valor de `record_type` for `CREATE` ou `UPDATE_METADATA`, as linhas que representam versões de objetos que não existiam mais no momento em que um evento de exclusão ou substituição foi processado conterão um valor nulo na coluna `user_metadata`.   | 

# Configurar tabelas de metadados
<a name="metadata-tables-configuring"></a>

O Amazon S3 Metadata acelera a descoberta de dados ao capturar automaticamente os metadados dos objetos nos buckets de uso geral e armazená-los em tabelas do Apache Iceberg totalmente gerenciadas e somente leitura que você pode consultar. Essas tabelas somente leitura são chamadas de *tabelas de metadados*. À medida que objetos são adicionados, atualizados e removidos dos buckets de uso geral, o S3 Metadata atualiza automaticamente as tabelas de metadados correspondentes para refletir as alterações mais recentes.

Com o S3 Metadata, você pode facilmente encontrar, armazenar e consultar metadados para os objetos do S3, para que possa preparar dados rapidamente para uso em analytics de negócios, treinamento de modelos de inteligência artificial e machine learning (IA/ML) e muito mais. 

Para gerar e armazenar metadados de objetos em tabelas de metadados gerenciadas pela AWS, crie uma configuração de tabela de metadados para o bucket de uso geral. O Amazon S3 foi projetado para atualizar continuamente as tabelas de metadados e mostrar as alterações mais recentes nos dados, desde que a configuração esteja ativa no bucket. Além disso, o Amazon S3 otimiza continuamente as tabelas de metadados para ajudar a reduzir os custos de armazenamento e melhorar a performance das consultas de analytics.

Para criar uma configuração de tabelas de metadados, garanta que você tenha as permissões do AWS Identity and Access Management (IAM) necessárias para criar e gerenciar tabelas de metadados. 

Para monitorar as atualizações na configuração de tabelas de metadados, você pode usar o AWS CloudTrail. Para obter mais informações, consulte [Ações de buckets do Amazon S3 rastreadas pelo registro em log do CloudTrail](cloudtrail-logging-s3-info.md#cloudtrail-bucket-level-tracking).

**Topics**
+ [Definir permissões para configurar tabelas de metadados](metadata-tables-permissions.md)
+ [Criar configurações de tabelas de metadados](metadata-tables-create-configuration.md)
+ [Controlar o acesso às tabelas de metadados](metadata-tables-access-control.md)
+ [Registros expirados da tabela de diário](metadata-tables-expire-journal-table-records.md)
+ [Habilitar ou desabilitar tabelas de inventário em tempo real](metadata-tables-enable-disable-inventory-tables.md)
+ [Visualizar configurações de tabela de metadados](metadata-tables-view-configuration.md)
+ [Excluir configurações de tabelas de metadados](metadata-tables-delete-configuration.md)
+ [Excluir tabelas de metadados](metadata-tables-delete-table.md)

# Definir permissões para configurar tabelas de metadados
<a name="metadata-tables-permissions"></a>

Para criar uma configuração de tabela de metadados, é necessário ter as permissões do AWS Identity and Access Management (IAM) necessárias para criar e gerenciar essa configuração de tabela de metadados e para criar e gerenciar suas tabelas de metadados e o bucket de tabela em que as tabelas de metadados estão armazenadas. 

Para criar e gerenciar a configuração de tabelas de metadados, você deve ter as seguintes permissões: 
+ `s3:CreateBucketMetadataTableConfiguration`: essa permissão possibilita criar uma configuração de tabelas de metadados para o bucket de uso geral. Para criar uma configuração de tabela de metadados, são necessárias permissões adicionais, inclusive permissões da funcionalidade Tabelas do S3, conforme explicado nas seções a seguir. Para obter um resumo das permissões necessárias, consulte [Permissões e operações de bucket](using-with-s3-policy-actions.md#using-with-s3-policy-actions-related-to-buckets). 
+ `s3:GetBucketMetadataTableConfiguration`: essa permissão possibilita recuperar informações sobre a configuração de tabelas de metadados.
+ `s3:DeleteBucketMetadataTableConfiguration`: essa permissão possibilita excluir a configuração de tabelas de metadados.
+ `s3:UpdateBucketMetadataJournalTableConfiguration`: essa permissão possibilita que você atualize a configuração da tabela de diário para expirar os respectivos registros.
+ `s3:UpdateBucketMetadataInventoryTableConfiguration`: essa permissão possibilita que você atualize a configuração da tabela de inventário para habilitar ou desabilitar a tabela de inventário. Para atualizar uma configuração de tabela de inventário, são necessárias permissões adicionais, inclusive permissões da funcionalidade Tabelas do S3. Para obter uma lista das permissões necessárias, consulte [Permissões e operações de bucket](using-with-s3-policy-actions.md#using-with-s3-policy-actions-related-to-buckets).
**nota**  
As permissões `s3:CreateBucketMetadataTableConfiguration`, `s3:GetBucketMetadataTableConfiguration` e `s3:DeleteBucketMetadataTableConfiguration` são usadas para configurações do S3 Metadata V1 e V2. Para a V2, os nomes das operações de API correspondentes são `CreateBucketMetadataConfiguration`, `GetBucketMetadataConfiguration` e `DeleteBucketMetadataConfiguration`.

Para criar e trabalhar com tabelas e buckets de tabela, é necessário ter determinadas permissões `s3tables`. No mínimo, para criar uma configuração de tabelas de metadados, você deve ter as seguintes permissões `s3tables`: 
+ `s3tables:CreateTableBucket`: essa permissão possibilita que você crie um bucket de tabela gerenciado pela AWS. Todas as configurações de tabela de metadados na sua conta e na mesma região são armazenadas em um único bucket de tabela gerenciado pela AWS denominado `aws-s3`. Para ter mais informações, consulte [Como funcionam as tabelas de metadados](metadata-tables-overview.md#metadata-tables-how-they-work) e [Trabalhar com buckets de tabela gerenciados pela AWS](https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-tables-aws-managed-buckets.html).
+ `s3tables:CreateNamespace`: essa permissão possibilita criar um namespace em um bucket de tabela. As tabelas de metadados normalmente usam o namespace `b_general_purpose_bucket_name`. Para ter mais informações sobre namespaces de tabela de metadados, consulte [Como funcionam as tabelas de metadados](metadata-tables-overview.md#metadata-tables-how-they-work).
+ `s3tables:CreateTable`: essa permissão possibilita que você crie tabelas de metadados.
+ `s3tables:GetTable`: essa permissão possibilita que você recupere informações sobre suas tabelas de metadados.
+ `s3tables:PutTablePolicy`: essa permissão possibilita que você adicione ou atualize as políticas da tabela de metadados.
+ `s3tables:PutTableEncryption`: essa permissão possibilita que você defina a criptografia do lado do servidor para suas tabelas de metadados. Permissões adicionais serão necessárias se você quiser criptografar suas tabelas de metadados com a criptografia do lado do servidor usando chaves do AWS Key Management Service (AWS KMS) (SSE-KMS). Para ter mais informações, consulte [Permissões para SSE-KMS](#metadata-kms-permissions). 
+ `kms:DescribeKey`: essa permissão possibilita que você recupere informações sobre a chave do KMS. 
+ `s3tables:PutTableBucketPolicy`: esta permissão possibilita criar ou atualizar uma nova política de bucket de tabela.

Para ter informações detalhadas sobre todas as permissões de tabelas e de buckets de tabela, consulte [Access management for S3 Tables](https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-tables-setting-up.html).

**Importante**  
Se você também quiser integrar o bucket de tabela com os serviços de analytics da AWS para poder consultar a tabela de metadados, precisará de permissões adicionais. Para ter mais informações, consulte [Integrating Amazon S3 Tables with AWS analytics services](https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-tables-integrating-aws.html).

**Permissões para SSE-KMS**  
Para criptografar tabelas de metadados com a criptografia do lado do servidor usando chaves do AWS Key Management Service (AWS KMS) (SSE-KMS), você deve ter outras permissões. 

1. O usuário ou o perfil do AWS Identity and Access Management (IAM) precisa das permissões a seguir. Você pode conceder essas permissões no console do IAM: [https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/).

   1. `s3tables:PutTableEncryption` para configurar a criptografia de tabelas.

   1. `kms:DescribeKey` na chave usada do AWS KMS.

1. Na política de recursos para a chave do KMS, você precisa das permissões a seguir. Você pode conceder essas permissões no console do AWS KMS: [https://console.aws.amazon.com/kms](https://console.aws.amazon.com/kms).

   1. Conceder a permissão `kms:GenerateDataKey` a `metadata.s3.amazonaws.com` e a `maintenance.s3tables.amazonaws.com`.

   1. Conceder a permissão `kms:Decrypt` a `metadata.s3.amazonaws.com` e a `maintenance.s3tables.amazonaws.com`.

   1. Conceder a permissão `kms:DescribeKey` à entidade principal invocadora da AWS.

Além dessas permissões, a chave do KMS gerenciada pelo cliente usada para criptografar as tabelas ainda deve existir, estar ativa e estar na mesma região do bucket de uso geral.

**Exemplo de política**  
Para criar e trabalhar com tabelas de metadados e buckets de tabela, você pode usar o exemplo de política a seguir. Nesta política, o bucket de uso geral ao qual você está aplicando a configuração de tabelas de metadados é chamado de `amzn-s3-demo-bucket`. Para usar essa política, substitua os `user input placeholders` por suas próprias informações. 

Quando você cria uma configuração de tabela de metadados, as tabelas de metadados são armazenadas em um bucket de tabela gerenciado pela AWS. Todas as configurações de tabela de metadados na sua conta e na mesma região são armazenadas em um único bucket de tabela gerenciado pela AWS denominado `aws-s3`. 

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "PermissionsToWorkWithMetadataTables",
            "Effect": "Allow",
            "Action": [
                "s3:CreateBucketMetadataTableConfiguration",
                "s3:GetBucketMetadataTableConfiguration",
                "s3:DeleteBucketMetadataTableConfiguration",
                "s3:UpdateBucketMetadataJournalTableConfiguration",
                "s3:UpdateBucketMetadataInventoryTableConfiguration",
                "s3tables:*",
                "kms:DescribeKey"
            ],
            "Resource": [
                "arn:aws:s3:::amzn-s3-demo-bucket",
                "arn:aws:s3tables:us-east-1:111122223333:bucket/aws-s3",
                "arn:aws:s3tables:us-east-1:111122223333:bucket/aws-s3/table/*"
            ]
        }
    ]
}
```

------

Para consultar tabelas de metadados, você pode usar a política de exemplo a seguir. Se as tabelas de metadados tiverem sido criptografadas com SSE-KMS, você precisará da permissão `kms:Decrypt`, conforme mostrado. Para usar essa política, substitua os `user input placeholders` por suas próprias informações.

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "PermissionsToQueryMetadataTables",
            "Effect": "Allow",
            "Action": [
                "s3tables:GetTable",
                "s3tables:GetTableData",
                "s3tables:GetTableMetadataLocation",
                "kms:Decrypt"
            ],
            "Resource": [
                "arn:aws:s3tables:us-east-1:111122223333:bucket/aws-s3",
                "arn:aws:s3tables:us-east-1:111122223333:bucket/aws-s3/table/*"
            ]
        }
    ]
}
```

------

# Criar configurações de tabelas de metadados
<a name="metadata-tables-create-configuration"></a>

Para gerar e armazenar o Amazon S3 Metadata em tabelas de metadados do Apache Iceberg totalmente gerenciadas, crie uma configuração de tabela de metadados para o bucket de uso geral. O Amazon S3 foi projetado para atualizar continuamente as tabelas de metadados e mostrar as alterações mais recentes nos dados, desde que a configuração esteja ativa no bucket. Além disso, o Amazon S3 otimiza continuamente as tabelas de metadados para ajudar a reduzir os custos de armazenamento e melhorar a performance das consultas de analytics.

Para cada bucket de uso geral, você pode criar uma configuração de tabela de metadados que contém duas tabelas de metadados complementares:
+ **Tabela de diário**: por padrão, sua configuração de tabela de metadados contém uma *tabela de diário*, que captura eventos referentes aos objetos no bucket. A tabela de diário registra as alterações feitas em seus dados quase em tempo real, ajudando você a identificar novos dados enviados ao seu bucket, rastrear objetos excluídos recentemente, monitorar as transições de ciclo de vida etc. Ela registra novos objetos e atualizações em seus objetos e nos respectivos metadados (aquelas atualizações que exigem uma operação `DELETE` ou `PUT`). 

  A tabela de diário captura apenas metadados somente de eventos de alteração (como uploads, atualizações e exclusões) que ocorrem depois que você cria a configuração da tabela de metadados. Como essa tabela pode ser consultada, é possível auditar as alterações no bucket por meio de consultas SQL simples. 

  A tabela de diário é necessária para cada configuração de tabela de metadados. (Na versão inicial do S3 Metadata, a tabela de diário era chamada de “tabela de metadados”.)

  Para ter mais informações sobre quais dados são armazenados em tabelas de diário, consulte [Esquema de tabelas de diário do S3 Metadata](metadata-tables-schema.md).

  Para ajudar a minimizar os custos de armazenamento, você pode optar por habilitar a expiração de registros da tabela de diário. Para obter mais informações, consulte [Registros expirados da tabela de diário](metadata-tables-expire-journal-table-records.md). 
+ **Tabela de inventário em tempo real**: opcionalmente, você pode adicionar uma *tabela de inventário em tempo real* à configuração da tabela de metadados. A tabela de inventário em tempo real fornece um inventário simples e consultável de todos os objetos e das respectivas versões no bucket para que você possa determinar o estado mais recente dos dados. 

  É possível usar a tabela de inventário em tempo real para simplificar e acelerar os fluxos de trabalho de negócios e as tarefas de big data identificando os objetos que você deseja processar para várias workloads. Por exemplo, você pode consultar a tabela de inventário em tempo real para encontrar todos os objetos armazenados em uma classe de armazenamento específica, todos os objetos com determinadas tags, todos os objetos que não são criptografados com a criptografia do lado do servidor usando chaves do AWS Key Management Service (AWS KMS) (SSE-KMS) etc. 

  Quando você habilita a tabela de inventário em tempo real para a configuração da tabela de metadados, ela passa por um processo conhecido como *preenchimento*, durante o qual o Amazon S3 verifica o bucket de uso geral para recuperar os metadados iniciais de todos os objetos existentes no bucket. Dependendo do número de objetos no bucket, esse processo pode levar de minutos (no mínimo 15 minutos) a horas. Quando o processo de preenchimento é concluído, o status da tabela de inventário em tempo real muda de **Preenchendo** para **Ativo**. Após a conclusão do preenchimento, geralmente as atualizações dos objetos são mostradas na tabela de inventário em tempo real no prazo de uma hora.

  Você recebe cobrança pelo preenchimento da tabela de inventário em tempo real. Se o bucket de uso geral tiver mais de um bilhão de objetos, você também pagará uma taxa mensal pela tabela de inventário em tempo real. Para obter mais informações, consulte [Preços do Amazon S3](https://aws.amazon.com/s3/pricing/).

  Para ter mais informações sobre quais dados são armazenados nas tabelas de inventário em tempo real, consulte [Esquema de tabelas de inventário em tempo real do S3 Metadata](metadata-tables-inventory-schema.md).

As tabelas de metadados têm o seguinte formato de nome do recurso da Amazon (ARN), que inclui o respectivo ID: 

`arn:aws:s3tables:region-code:account-id:bucket/aws-s3/table/table-id`

Por exemplo, uma tabela de metadados na região Leste dos EUA (Norte da Virgínia) teria um ARN como o seguinte:

`arn:aws:s3tables:us-east-1:111122223333:bucket/aws-s3/table/a12bc345-67d8-912e-3456-7f89123g4h56`

As tabelas de diário e as tabelas de inventário em tempo real têm o nome `journal` e `inventory`, respectivamente.

Quando você cria uma configuração de tabela de metadados, as tabelas de metadados são armazenadas em um bucket de tabela gerenciado pela AWS. Todas as configurações de tabela de metadados na sua conta e na mesma região são armazenadas em um único bucket de tabela gerenciado pela AWS. Esses buckets de tabela gerenciados pela AWS são denominadas `aws-s3` e têm o seguinte formato de nome de recurso da Amazon (ARN): 

`arn:aws:s3tables:region:account_id:bucket/aws-s3`

Por exemplo, se o ID da sua conta for 123456789012 e o bucket de uso geral estiver no Leste dos EUA (Norte da Virgínia) (`us-east-1`), o bucket de tabela gerenciado pela AWS também será criado no Leste dos EUA (Norte da Virgínia) (`us-east-1`) e terá o seguinte ARN:

`arn:aws:s3tables:us-east-1:123456789012:bucket/aws-s3`

Por padrão, os buckets de tabela gerenciados pela AWS são criptografados com a criptografia do lado do servidor usando chaves gerenciadas pelo Amazon S3 (SSE-S3). Depois de criar a primeira configuração de metadados, você pode definir a configuração de criptografia padrão para o bucket de tabela gerenciado pela AWS para usar a criptografia do lado do servidor com chaves do AWS Key Management Service (AWS KMS) (SSE-KMS). Para ter mais informações, consulte [Criptografia para buckets de tabela gerenciados pela AWS](https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-tables-aws-managed-buckets.html#aws-managed-buckets-encryption) e [Especificar a criptografia do lado do servidor com chaves do AWS KMS (SSE-KMS) em buckets de tabela](s3-tables-kms-specify.md).

No bucket de tabela gerenciado pela AWS, as tabelas de metadados da sua configuração geralmente são armazenadas em um namespace com o seguinte formato de nomenclatura:

`b_general-purpose-bucket-name`

Para ter mais informações sobre namespaces de tabela de metadados, consulte [Como funcionam as tabelas de metadados](metadata-tables-overview.md#metadata-tables-how-they-work).

Ao criar sua configuração de tabela de metadados, você pode optar por criptografar as tabelas de metadados gerenciadas pela AWS com a criptografia do lado do servidor usando chaves do AWS Key Management Service (AWS KMS) (SSE-KMS). Se você optar por usar o SSE-KMS, deverá fornecer uma chave do KMS gerenciada pelo cliente na mesma região do bucket de uso geral. Você pode definir o tipo de criptografia para uma tabela somente ao criá-la. Após a criação de uma tabela gerenciada pela AWS, não é possível alterar a configuração de criptografia. Para especificar o SSE-KMS para uma tabela de metadados, é necessário ter determinadas permissões. Para ter mais informações, consulte [Permissões para SSE-KMS](metadata-tables-permissions.md#metadata-kms-permissions).

A configuração de criptografia de uma tabela de metadados tem precedência sobre a configuração de criptografia padrão em nível de bucket. Se você não especificar a criptografia para uma tabela, ela herdará a configuração de criptografia padrão do bucket.

Os buckets de tabela gerenciados pela AWS não são contabilizados nas cotas da funcionalidade Tabelas do S3. Para ter mais informações sobre como trabalhar com buckets de tabela gerenciados pela AWS e tabelas gerenciadas pela AWS, consulte [Trabalhar com buckets de tabela gerenciados pela AWS](https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-tables-aws-managed-buckets.html). 

Você pode criar uma configuração de tabelas de metadados usando o console do Amazon S3, a AWS Command Line Interface (AWS CLI), os AWS SDKs ou a API REST do Amazon S3.

**nota**  
Se você criou a configuração do S3 Metadata antes de 15 de julho de 2025, é recomendável excluir e criar a configuração novamente para poder expirar os registros da tabela de diário e criar uma tabela de inventário. Para obter mais informações, consulte [Habilitar tabelas de inventário em configurações de metadados criadas antes de 15 de julho de 2025](#metadata-tables-migration).
Se você excluiu sua configuração de tabela de metadados e deseja criar uma configuração novamente para o mesmo bucket de uso geral, primeiro exclua manualmente as tabelas de diário e inventário antigas do bucket de tabelas gerenciado pela AWS. Do contrário, não será possível criar outra configuração de tabela de metadados, porque essas tabelas já existem. Para excluir uma tabela de metadados, consulte [Excluir uma tabela de metadados](metadata-tables-delete-table.md#delete-metadata-table-procedure).  
A exclusão de uma configuração de tabela de metadados exclui apenas a configuração. O bucket de tabela gerenciado pela AWS e suas tabelas de metadados continuarão existindo, mesmo que você exclua a configuração da tabela de metadados. 

**Pré-requisitos**  
Antes de criar uma configuração de tabela de metadados, você deve cumprir os seguintes pré-requisitos:
+ Para criar uma configuração de tabela de metadados, você deve ter as permissões do AWS Identity and Access Management (IAM) necessárias para criar e gerenciar tabelas de metadados. Para obter mais informações, consulte [Definir permissões para configurar tabelas de metadados](metadata-tables-permissions.md).
+ Se você planeja consultar suas tabelas de metadados com o Amazon Athena ou outro mecanismo de consulta da AWS, será necessário integrar o bucket de tabelas gerenciado pela AWS aos serviços de analytics da AWS. Para obter mais informações, consulte [Integrar a funcionalidade Tabelas do Amazon S3 a serviços de analytics da AWS](s3-tables-integrating-aws.md). 

  Se você já tiver integrado um bucket de tabela existente nessa região, o bucket de tabela gerenciado pela AWS também será integrado automaticamente. Para determinar o status de integração dos seus buckets de tabela nessa região, abra o console do Amazon S3 e escolha **Buckets de tabela** no painel de navegação à esquerda. Em **Integração com serviços de analytics da AWS**, verifique a região e se o status da integração está **habilitado**.

## Criar uma configuração de tabela de metadados
<a name="create-metadata-config-procedure"></a>

### Usar o console do S3
<a name="create-metadata-config-console"></a>

**Como criar uma configuração de tabelas de metadados**

Antes de criar uma configuração de tabelas de metadados, revise e cumpra os [pré-requisitos](#metadata-table-config-prereqs) e revise [Limitações e restrições das tabelas de metadados](metadata-tables-restrictions.md).

1. Faça login no Console de gerenciamento da AWS e abra o console do Amazon S3 em [https://console.aws.amazon.com/s3/](https://console.aws.amazon.com/s3/).

1. No painel de navegação à esquerda, escolha **Buckets de uso geral**.

1. Escolha o bucket de uso geral para o qual você deseja criar uma configuração de tabelas de metadados. 
**nota**  
Garanta que esse bucket de uso geral esteja em uma Região da AWS onde os buckets de tabela estejam disponíveis. Os buckets de tabela só estão disponíveis nas regiões Leste dos EUA (Norte da Virgínia), Leste dos EUA (Ohio) e Oeste dos EUA (Oregon).

1. Na página de detalhes do bucket, escolha a guia **Metadados**. 

1. Na guia **Metadados**, escolha **Criar configuração de metadados**.

1. Na página **Criar configuração de metadados**, em **Tabela de diário**, você pode escolher se deseja criptografar a tabela com a criptografia do lado do servidor usando chaves do AWS Key Management Service (AWS KMS) (SSE-KMS). Por padrão, as tabelas de diário são criptografadas com a criptografia do lado do servidor usando chaves gerenciadas pelo Amazon S3 (SSE-S3).

   Se você optar por usar o SSE-KMS, deverá fornecer uma chave do KMS gerenciada pelo cliente na mesma região do bucket de uso geral. 
**Importante**  
Você pode definir o tipo de criptografia para uma tabela de metadados somente ao criá-la. Após a criação de uma tabela gerenciada pela AWS, não é possível alterar a configuração de criptografia.
   + Para criptografar uma tabela de diário com SSE-S3 (o padrão), escolha **Não especificar o tipo de criptografia**. 
   + Para criptografar uma tabela de diário com SSE-KMS, escolha **Especificar o tipo de criptografia**. Em **Tipo de criptografia**, escolha **Criptografia do lado do servidor usando chaves do AWS Key Management Service (AWS KMS) (SSE-KMS)**. Em **Chave do AWS KMS**, escolha entre suas chaves existentes do KMS ou insira o ARN da chave do KMS. Se você ainda não tiver uma chave do KMS, escolha **Inserir o ARN da chave do KMS** e selecionar **Criar uma chave do KMS**. 

     Verifique se você configurou as permissões necessárias para o SSE-KMS. Para ter mais informações, consulte [Permissões para SSE-KMS](metadata-tables-permissions.md#metadata-kms-permissions).

1. (Opcional) Por padrão, os registros na tabela de diário não expiram. Para ajudar a minimizar os custos de armazenamento da tabela de diário, escolha **Habilitada** em **Expiração dos registros**. 

   Se você habilitar a expiração de registros da tabela de diário, poderá definir o número de dias em que os registros da tabela de diário devem ser retidos. Para definir o valor em **Dias após os quais os registros expiram**, você pode especificar qualquer número inteiro entre `7` e `2147483647`. Por exemplo, para reter os registros da tabela de diário por um ano, defina esse valor como `365`.

   Os registros expirarão no prazo de 24 a 48 horas depois que se tornarem elegíveis para expiração. 
**Importante**  
Depois que os registros da tabela de diário expirarem, eles não poderão ser recuperados.

   Marque a caixa de seleção em **Registros da tabela de diário expirarão após o número especificado de dias**.

1. (Opcional) Se você quiser adicionar uma tabela de inventário à configuração da tabela de metadados, em **Tabela de inventário em tempo real**, escolha **Habilitada** para o **Status da configuração**.

   Você pode optar por criptografar a tabela com criptografia do lado do servidor usando chaves do AWS Key Management Service (AWS KMS) (SSE-KMS). Por padrão, as tabelas de inventário são criptografados com a criptografia do lado do servidor usando chaves gerenciadas pelo Amazon S3 (SSE-S3).

   Se você optar por usar o SSE-KMS, deverá fornecer uma chave do KMS gerenciada pelo cliente na mesma região do bucket de uso geral. 
**Importante**  
Você pode definir o tipo de criptografia para uma tabela de metadados somente ao criá-la. Após a criação de uma tabela gerenciada pela AWS, não é possível alterar a configuração de criptografia.
   + Para criptografar uma tabela de inventário com SSE-S3 (o padrão), escolha **Não especificar o tipo de criptografia**. 
   + Para criptografar uma tabela de inventário com SSE-KMS, escolha **Especificar o tipo de criptografia.** Em **Tipo de criptografia**, escolha **Criptografia do lado do servidor usando chaves do AWS Key Management Service (AWS KMS) (SSE-KMS)**. Em **Chave do AWS KMS**, escolha entre suas chaves existentes do KMS ou insira o ARN da chave do KMS. Se você ainda não tiver uma chave do KMS, escolha **Inserir o ARN da chave do KMS** e selecionar **Criar uma chave do KMS**.

     Verifique se você configurou as permissões necessárias para o SSE-KMS. Para ter mais informações, consulte [Permissões para SSE-KMS](metadata-tables-permissions.md#metadata-kms-permissions).

1. Escolha **Criar configuração de tabelas de metadados**.

Se sua configuração de tabela de metadados for bem-sucedida, os nomes e ARNs das tabelas de metadados serão exibidos na guia **Metadados**, com o nome e o namespace do bucket de tabela gerenciado pela AWS. 

Se você optar por habilitar uma tabela de inventário para sua configuração de tabela de metadados, essa tabela passará por um processo conhecido como *preenchimento*, durante o qual o Amazon S3 verifica o bucket de uso geral para recuperar os metadados iniciais de todos os objetos existentes no bucket. Dependendo do número de objetos no bucket, esse processo pode levar de minutos (no mínimo 15 minutos) a horas. Quando o processo de preenchimento é concluído, o status da tabela de inventário muda de **Preenchendo** para **Ativo**. Depois que o preenchimento é concluído, geralmente as atualizações dos objetos são mostradas na tabela de inventário no prazo de uma hora.

Para monitorar as atualizações na configuração de tabelas de metadados, você pode usar o AWS CloudTrail. Para obter mais informações, consulte [Ações de buckets do Amazon S3 rastreadas pelo registro em log do CloudTrail](cloudtrail-logging-s3-info.md#cloudtrail-bucket-level-tracking).

### Usar a AWS CLI
<a name="create-metadata-config-cli"></a>

Para executar os comandos a seguir, você deve ter a AWS CLI instalada e configurada. Se ainda não tiver a AWS CLI instalada, consulte [Instalar ou atualizar a versão mais recente da AWS CLI](https://docs.aws.amazon.com//cli/latest/userguide/getting-started-install.html) no *Guia do usuário da AWS Command Line Interface*.

Também é possível executar comandos da AWS CLI pelo console usando o AWS CloudShell. O AWS CloudShell é um shell pré-autenticado e baseado em navegador que você pode iniciar diretamente do Console de gerenciamento da AWS. Para ter mais informações, consulte [What is CloudShell?](https://docs.aws.amazon.com//cloudshell/latest/userguide/welcome.html) e [Getting started with AWS CloudShell](https://docs.aws.amazon.com//cloudshell/latest/userguide/getting-started.html) no *Guia do usuário do AWS CloudShell*.

**Como criar uma configuração de tabelas de metadados usando a AWS CLI**

Antes de criar uma configuração de tabelas de metadados, revise e cumpra os [pré-requisitos](#metadata-table-config-prereqs) e revise [Limitações e restrições das tabelas de metadados](metadata-tables-restrictions.md).

Para usar os exemplos de comando a seguir, substitua os `user input placeholders` por suas próprias informações. 

1. Crie um arquivo JSON que contenha a configuração de tabelas de metadados e salve-o (por exemplo, `metadata-config.json`). Veja a seguir uma configuração de amostra. 

   Você deve especificar se deseja habilitar ou desabilitar a expiração de registros da tabela de diário. Se você optar por habilitar a expiração de registros, também deverá especificar o número de dias após os quais os registros da tabela de diário expirarão. Para definir o valor `Days`, você pode especificar qualquer número inteiro entre `7` e `2147483647`. Por exemplo, para reter os registros da tabela de diário por um ano, defina esse valor como `365`.

   Opcionalmente, você pode optar por configurar uma tabela de inventário. 

   Para tabelas de diário e tabelas de inventário, você pode especificar opcionalmente uma configuração de criptografia. Por padrão, as tabelas de metadados são criptografados com a criptografia do lado do servidor usando chaves gerenciadas pelo Amazon S3 (SSE-S3), que você pode especificar configurando `SseAlgorithm` como `AES256`.

   Para criptografar tabelas de metadados com a criptografia do lado do servidor usando chaves do AWS Key Management Service (AWS KMS) (SSE-KMS), defina `SseAlgorithm` como `aws:kms`. Você também deve definir `KmsKeyArn` como o ARN de uma chave do KMS gerenciada pelo cliente na mesma região em que o bucket de uso geral está localizado.

   ```
   {
     "JournalTableConfiguration": {
        "RecordExpiration": {          
          "Expiration": "ENABLED",
         "Days": 10
       },
       "EncryptionConfiguration": {  
         "SseAlgorithm": "AES256"
       }
     },
     "InventoryTableConfiguration": { 
       "ConfigurationState": "ENABLED",
       "EncryptionConfiguration": {   
         "SseAlgorithm": "aws:kms",
         "KmsKeyArn": "arn:aws:kms:us-east-2:account-id:key/key-id"
       }
     }
   }
   ```

1. Use o comando a seguir para aplicar a configuração de tabelas de metadados ao bucket de uso geral (por exemplo, `amzn-s3-demo-bucket`):

   ```
   aws s3api create-bucket-metadata-configuration \
   --bucket amzn-s3-demo-bucket \
   --metadata-configuration file://./metadata-config.json \
   --region us-east-2
   ```

1. Para verificar se a configuração foi criada, execute o seguinte comando:

   ```
   aws s3api get-bucket-metadata-configuration \
   --bucket amzn-s3-demo-bucket \
   --region us-east-2
   ```

Para monitorar as atualizações na configuração de tabelas de metadados, você pode usar o AWS CloudTrail. Para obter mais informações, consulte [Ações de buckets do Amazon S3 rastreadas pelo registro em log do CloudTrail](cloudtrail-logging-s3-info.md#cloudtrail-bucket-level-tracking).

### Uso da API REST
<a name="create-metadata-config-rest-api"></a>

Você pode enviar solicitações REST para criar uma configuração de tabelas de metadados. Para obter mais informações, consulte [https://docs.aws.amazon.com//AmazonS3/latest/API/API_CreateBucketMetadataConfiguration.html](https://docs.aws.amazon.com//AmazonS3/latest/API/API_CreateBucketMetadataConfiguration.html) na *Referência da API do Amazon S3*.

### Usar SDKs da AWS
<a name="create-metadata-config-sdk"></a>

Você pode usar os AWS SDKs para criar uma configuração de tabelas de metadados no Amazon S3. Para ter mais informações, consulte a [lista de SDKs compatíveis](https://docs.aws.amazon.com//AmazonS3/latest/API/API_CreateBucketMetadataConfiguration.html#API_CreateBucketMetadataConfiguration_SeeAlso) na *Referência de API do Amazon S3*.

## Habilitar tabelas de inventário em configurações de metadados criadas antes de 15 de julho de 2025
<a name="metadata-tables-migration"></a>

Se você criou a configuração do S3 Metadata antes de 15 de julho de 2025, é recomendável excluir e criar a configuração novamente para poder expirar os registros da tabela de diário e criar uma tabela de inventário. Quaisquer alterações no bucket de uso geral que ocorrerem entre a exclusão da configuração antiga e a criação de outra não serão registradas em nenhuma das tabelas de diário.

Para migrar de uma configuração de metadados antiga para uma nova configuração, faça o seguinte:

1. Exclua a configuração da tabela de metadados existente. Para obter instruções detalhadas, consulte [Excluir configurações de tabelas de metadados](metadata-tables-delete-configuration.md). 

1. Crie outra configuração de tabela de metadados. Para obter instruções detalhadas, consulte [Criar configurações de tabelas de metadados](#metadata-tables-create-configuration).

Se precisar de ajuda para migrar sua configuração, entre em contato com o AWS Support. 

Depois que criar outra configuração de metadados, você terá duas tabelas de diário. Se não precisar mais da tabela de diário antiga, poderá excluí-la. Para obter instruções detalhadas, consulte [Excluir tabelas de metadados](metadata-tables-delete-table.md). Se você manteve sua tabela de diário antiga e deseja uni-la à nova, consulte [Unir metadados personalizados com tabelas de metadados do S3](metadata-tables-join-custom-metadata.md) para obter exemplos de como unir duas tabelas.

Após a migração, você pode fazer o seguinte:

1. Para ver sua configuração, agora você pode usar a operação de API `GetBucketMetadataConfiguration`. Para determinar se sua configuração é antiga ou nova, você pode examinar o atributo a seguir da resposta da API `GetBucketMetadataConfiguration`. Um tipo de bucket gerenciado pela AWS (`"aws"`) indica uma nova configuração, enquanto um tipo de bucket gerenciado pelo cliente (`"customer"`) indica uma configuração antiga.

   ```
   "MetadataTableConfigurationResult": {
               "TableBucketType": ["aws" | "customer"]
   ```

   Para obter mais informações, consulte [Visualizar configurações de tabela de metadados](metadata-tables-view-configuration.md).
**nota**  
Você pode usar as operações de API `DeleteBucketMetadataConfiguration` e `GetBucketMetadataConfiguration` com configurações de tabela de metadados antigas ou novas. No entanto, se você tentar usar as operações de API `GetBucketMetadataTableConfiguration` e `DeleteBucketMetadataTableConfiguration` com configurações novas, receberá erro de HTTP `405 Method Not Allowed`.  
Você deve atualizar seus processos para usar as novas operações de API (`CreateBucketMetadataConfiguration`, `GetBucketMetadataConfiguration` e `DeleteBucketMetadataConfiguration`) em vez das operações de API antigas. 

1. Se você planeja consultar suas tabelas de metadados com o Amazon Athena ou outro mecanismo de consulta da AWS, será necessário integrar o bucket de tabelas gerenciado pela AWS aos serviços de analytics da AWS. Se você já tiver integrado um bucket de tabela existente nessa região, o bucket de tabela gerenciado pela AWS também será integrado automaticamente. Para obter mais informações, consulte [Integrar a funcionalidade Tabelas do Amazon S3 a serviços de analytics da AWS](s3-tables-integrating-aws.md).

# Controlar o acesso às tabelas de metadados
<a name="metadata-tables-access-control"></a>

Para controlar o acesso às tabelas de metadados do Amazon S3, você pode usar políticas baseadas em recursos do AWS Identity and Access Management (IAM) anexadas ao bucket de tabela e a tabelas de metadados. Em outras palavras, você pode controlar o acesso às tabelas de metadados tanto ao nível do bucket de tabela quanto ao nível da tabela. 

Para ter mais informações sobre como controlar o acesso aos buckets e às tabelas, consulte [Access management for S3 Tables](https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-tables-setting-up.html).

**Importante**  
Ao criar ou atualizar políticas de bucket de tabela ou de tabela, não impeça que as entidades principais `metadata.s3.amazonaws.com` e `maintenance.s3tables.amazonaws.com` do serviço Amazon S3 gravem no bucket de tabela ou nas tabelas de metadados.   
Se o Amazon S3 não conseguir gravar no bucket de tabela ou nas tabelas de metadados, você deverá excluir sua configuração de metadados e suas tabelas de metadados e criar outra configuração. Se você tinha uma tabela de inventário em sua configuração, deverá criar outra tabela de inventário. Nesse caso, você receberá cobrança novamente pelo preenchimento dessa nova tabela.

Você também pode controlar o acesso às linhas e colunas das tabelas de metadados por meio do AWS Lake Formation. Para ter mais informações, consulte [Managing Lake Formation permissions](https://docs.aws.amazon.com/lake-formation/latest/dg/managing-permissions.html) e [Data filtering and cell-level security in Lake Formation](https://docs.aws.amazon.com/lake-formation/latest/dg/data-filtering.html) no *Guia do desenvolvedor do AWS Lake Formation*.

# Registros expirados da tabela de diário
<a name="metadata-tables-expire-journal-table-records"></a>

Por padrão, os registros na tabela de diário não expiram. Para ajudar a minimizar os custos de armazenamento da tabela de diário, você pode habilitar a expiração dos respectivos registros. 

**nota**  
Se você tiver criado sua configuração do S3 Metadata antes de 15 de julho de 2025, não poderá habilitar a expiração dos registro da tabela de diário nessa configuração. Recomendamos que você exclua e crie novamente sua configuração para poder expirar os registros da tabela de diário e criar uma tabela de inventário. Para obter mais informações, consulte [Habilitar tabelas de inventário em configurações de metadados criadas antes de 15 de julho de 2025](metadata-tables-create-configuration.md#metadata-tables-migration).

Se você habilitar a expiração de registros da tabela de diário, poderá definir o número de dias em que os registros da tabela de diário devem ser retidos. Para definir esse valor, especifique qualquer número inteiro entre `7` e `2147483647`. Por exemplo, para reter os registros da tabela de diário por um ano, defina esse valor como `365`.

**Importante**  
Depois que os registros da tabela de diário expirarem, eles não poderão ser recuperados.

Os registros expiram no prazo de 24 a 48 horas depois de se tornarem elegíveis para expiração. Os registros do diário são removidos do snapshot mais recente. Os dados e o armazenamento dos registros excluídos são removidos por meio de operações de manutenção de tabelas.

Se você tiver habilitado a expiração dos registros da tabela de diário, poderá desabilitá-la a qualquer momento para interromper a expiração desses registros.

Você pode criar uma configuração de tabela de diário usando o console do Amazon S3, a AWS Command Line Interface (AWS CLI), os SDKs da AWS ou a API REST do Amazon S3.

## Como expirar registros da tabela de diário
<a name="metadata-tables-expire-journal-table-records-procedure"></a>

### Usar o console do S3
<a name="metadata-tables-expire-journal-table-records-console"></a>

**Para expirar registros da tabela de diário**

1. Faça login no Console de gerenciamento da AWS e abra o console do Amazon S3 em [https://console.aws.amazon.com/s3/](https://console.aws.amazon.com/s3/).

1. No painel de navegação à esquerda, escolha **Buckets de uso geral**.

1. Escolha o bucket de uso geral que contém a configuração da tabela de metadados com a tabela de diário da qual você deseja expirar os registros. 

1. Na página de detalhes do bucket, escolha a guia **Metadados**. 

1. Na guia **Metadados**, escolha **Editar** e selecione **Editar expiração do registro da tabela de diário**.

1. Na página **Editar expiração do registro da tabela de diário**, escolha **Habilitada** em **Expiração dos registros**.

1. Defina o número de dias em que os registros da tabela de diário devem ser retidos. Para definir o valor de **Dias após os quais os registros expiram**, especifique qualquer número inteiro entre `7` e `2147483647`. Por exemplo, para reter os registros da tabela de diário por um ano, defina esse valor como `365`.
**Importante**  
Depois que os registros da tabela de diário expirarem, eles não poderão ser recuperados.

1. Marque a caixa de seleção em **Registros da tabela de diário expirarão após o número especificado de dias**. 

1. Escolha **Salvar alterações**. 

Se você quiser desabilitar a expiração dos registros da tabela de diário, repita as etapas anteriores, mas escolha **Desabilitada** em vez de **Habilitada** para a etapa 6. 

### Como usar o AWS CLI
<a name="metadata-tables-expire-journal-table-records-cli"></a>

Para executar os comandos a seguir, você deve ter a AWS CLI instalada e configurada. Se ainda não tiver a AWS CLI instalada, consulte [Instalar ou atualizar a versão mais recente da AWS CLI](https://docs.aws.amazon.com//cli/latest/userguide/getting-started-install.html) no *Guia do usuário da versão 2 da AWS Command Line Interface*.

Você também pode executar comandos da AWS CLI pelo console usando o AWS CloudShell. O AWS CloudShell é um shell pré-autenticado e baseado em navegador que você pode inicializar diretamente do Console de gerenciamento da AWS. Para ter mais informações, consulte [What is CloudShell?](https://docs.aws.amazon.com//cloudshell/latest/userguide/welcome.html) e [Getting started with AWS CloudShell](https://docs.aws.amazon.com//cloudshell/latest/userguide/getting-started.html) no *Guia do usuário do AWS CloudShell*.

**Como expirar os registros da tabela de diário usando a AWS CLI**

Para usar os exemplos de comando a seguir, substitua os `user input placeholders` por suas próprias informações. 

1. Crie um arquivo JSON que contenha sua configuração de tabela de metadados e salve-o (por exemplo, `journal-config.json`). Veja a seguir uma configuração de amostra. 

   Para definir o valor `Days`, especifique qualquer número inteiro entre `7` e `2147483647`. Por exemplo, para reter os registros da tabela de diário por um ano, defina esse valor como `365`.

   ```
   {
     "RecordExpiration": {
       "Expiration": "ENABLED",
       "Days": 10
     }
   }
   ```

   Para desabilitar a expiração dos registros da tabela de diário, crie a configuração de exemplo a seguir. Se `Expiration` estiver definida como `DISABLED`, você não deverá especificar um valor `Days` na configuração.

   ```
   {
     "RecordExpiration": {
       "Expiration": "DISABLED"
     }
   }
   ```

1. Use o seguinte comando para expirar os registros da tabela de diário no bucket de uso geral (por exemplo, `amzn-s3-demo-bucket`):

   ```
   aws s3api update-bucket-metadata-journal-table-configuration \
   --bucket amzn-s3-demo-bucket \
   --journal-table-configuration file://./journal-config.json \
   --region us-east-2
   ```

### Uso da API REST
<a name="metadata-tables-expire-journal-table-records-rest-api"></a>

Você pode enviar solicitações REST para expirar os registros da tabela de diário. Para obter mais informações, consulte [https://docs.aws.amazon.com/AmazonS3/latest/API/API_UpdateBucketMetadataJournalTableConfiguration.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_UpdateBucketMetadataJournalTableConfiguration.html).

### Uso da SDKs AWS
<a name="metadata-tables-expire-journal-table-records-sdk"></a>

Você pode usar os SDKs da AWS para expirar os registros da tabela de diário no Amazon S3. Para ter mais informações, consulte a [lista de SDKs compatíveis](https://docs.aws.amazon.com/AmazonS3/latest/API/API_UpdateBucketMetadataJournalTableConfiguration.html#API_UpdateBucketMetadataJournalTableConfiguration_SeeAlso).

# Habilitar ou desabilitar tabelas de inventário em tempo real
<a name="metadata-tables-enable-disable-inventory-tables"></a>

Por padrão, sua configuração de tabela de metadados contém uma *tabela de diário*, que registra os eventos referentes aos objetos em seu bucket. A tabela de diário é necessária para cada configuração de tabela de metadados. 

Opcionalmente, você pode adicionar uma *tabela de inventário em tempo real* à sua configuração de tabela de metadados. A tabela de inventário em tempo real fornece um inventário simples e consultável de todos os objetos e das respectivas versões no bucket para que você possa determinar o estado mais recente dos dados.

**nota**  
Se você tiver criado sua configuração do S3 Metadata antes de 15 de julho de 2025, não poderá habilitar uma tabela de inventário nessa configuração. Recomendamos que você exclua e recrie sua configuração para poder criar uma tabela de inventário e expirar os registros da tabela de diário. Para obter mais informações, consulte [Habilitar tabelas de inventário em configurações de metadados criadas antes de 15 de julho de 2025](metadata-tables-create-configuration.md#metadata-tables-migration).

A tabela de inventário contém os metadados mais recentes de todos os objetos em seu bucket. É possível usar essa tabela para simplificar e acelerar fluxos de trabalho de negócios e tarefas de big data identificando objetos que você deseja processar para várias workloads. Por exemplo, você pode consultar a tabela de inventário para fazer o seguinte: 
+ Encontrar todos os objetos armazenados na classe de armazenamento S3 Glacier Deep Archive.
+ Criar uma distribuição de tags de objeto ou encontrar objetos sem tags.
+ Encontrar todos os objetos que não são criptografados usando a criptografia do lado do servidor com chaves do AWS Key Management Service (AWS KMS) (SSE-KMS). 
+ Compare sua tabela de inventário em dois momentos diferentes para entender o aumento de objetos com tags específicas.

Se você optar por habilitar uma tabela de inventário para sua configuração de tabela de metadados, essa tabela passará por um processo conhecido como *preenchimento*, durante o qual o Amazon S3 verifica o bucket de uso geral para recuperar os metadados iniciais de todos os objetos existentes no bucket. Dependendo do número de objetos no bucket, esse processo pode levar de minutos (no mínimo 15 minutos) a horas. Quando o processo de preenchimento é concluído, o status da tabela de inventário muda de **Preenchendo** para **Ativo**. Depois que o preenchimento é concluído, geralmente as atualizações dos objetos são mostradas na tabela de inventário no prazo de uma hora.

**nota**  
Você recebe cobrança pelo preenchimento da tabela de inventário. Se o bucket de uso geral tiver mais de um bilhão de objetos, você também pagará uma taxa mensal pela tabela de inventário. Para obter mais informações, consulte [Preços do Amazon S3](https://aws.amazon.com/s3/pricing/).
Não é possível pausar as atualizações na tabela de inventário e depois retomá-las. No entanto, é possível desabilitar a configuração da tabela de inventário. Desabilitar a tabela de inventário não a exclui. A tabela de inventário é mantida em seus registros até que você decida excluí-la.   
Se você tiver desabilitado a tabela de inventário e depois quiser reabilitá-la, primeiro exclua a tabela de inventário antiga do bucket de tabela gerenciado pela AWS. Quando você reabilita a configuração de tabela de inventário, o Amazon S3 cria outra tabela de inventário. Nesse caso, você recebe cobrança novamente pelo preenchimento da nova tabela.

Você pode habilitar ou desabilitar as tabelas de inventário usando o console do Amazon S3, a AWS Command Line Interface (AWS CLI), os SDKs da AWS ou a API REST do Amazon S3.

**Pré-requisitos**  
Se você desabilitou sua tabela de inventário e agora deseja reabilitá-la, primeiro exclua manualmente a tabela de inventário antiga do bucket de tabela gerenciado pela AWS. Do contrário, a reabilitação da tabela de inventário falhará, porque já existe uma tabela de inventário no bucket de tabela. Para excluir uma tabela de inventário, consulte [Excluir uma tabela de metadados](metadata-tables-delete-table.md#delete-metadata-table-procedure). 

Quando você reabilita a configuração de tabela de inventário, o Amazon S3 cria outra tabela de inventário. Nesse caso, você recebe cobrança novamente pelo preenchimento da nova tabela. 

## Habilitar ou desabilitar tabelas de inventário
<a name="metadata-tables-enable-disable-inventory-tables-procedure"></a>

### Usar o console do S3
<a name="metadata-tables-enable-disable-inventory-tables-console"></a>

**Como habilitar ou desabilitar tabelas de inventário**

1. Faça login no Console de gerenciamento da AWS e abra o console do Amazon S3 em [https://console.aws.amazon.com/s3/](https://console.aws.amazon.com/s3/).

1. No painel de navegação à esquerda, escolha **Buckets de uso geral**.

1. Escolha o bucket de uso geral com a configuração da tabela de metadados para a qual você deseja habilitar ou desabilitar uma tabela de inventário.

1. Na página de detalhes do bucket, escolha a guia **Metadados**. 

1. Na guia **Metadados**, escolha **Editar** e selecione **Editar configuração da tabela de inventário**.

1. Na página **Editar configuração da tabela de inventário**, escolha **Habilitada** ou **Desabilitada** em **Tabela de inventário**.
**nota**  
Antes de escolher **Habilitada**, verifique se você analisou e atendeu aos [pré-requisitos](#inventory-table-config-prereqs). 
   + Se você optou por **Habilitada**, poderá optar por criptografar a tabela com a criptografia do lado do servidor usando chaves do AWS Key Management Service (AWS KMS) (SSE-KMS). Por padrão, as tabelas de inventário são criptografados com a criptografia do lado do servidor usando chaves gerenciadas pelo Amazon S3 (SSE-S3).

     Se você optar por usar o SSE-KMS, deverá fornecer uma chave do KMS gerenciada pelo cliente na mesma região do bucket de uso geral. 
**Importante**  
Você pode definir o tipo de criptografia para uma tabela de metadados somente ao criá-la. Após a criação de uma tabela gerenciada pela AWS, não é possível alterar a configuração de criptografia.
     + Para criptografar uma tabela de inventário com SSE-S3 (o padrão), escolha **Não especificar o tipo de criptografia**. 
     + Para criptografar uma tabela de inventário com SSE-KMS, escolha **Especificar o tipo de criptografia.** Em **Tipo de criptografia**, escolha **Criptografia do lado do servidor usando chaves do AWS Key Management Service (AWS KMS) (SSE-KMS)**. Em **Chave do AWS KMS**, escolha entre suas chaves existentes do KMS ou insira o ARN da chave do KMS. Se você ainda não tiver uma chave do KMS, escolha **Inserir o ARN da chave do KMS** e selecionar **Criar uma chave do KMS**.
   + Se você escolher **Desabilitada**, marque a caixa de seleção em **Depois que a tabela de inventário for desabilitada, a tabela não será mais atualizada e as atualizações não poderão ser retomadas**.

1. Escolha **Salvar alterações**.

### Como usar o AWS CLI
<a name="metadata-tables-enable-disable-inventory-tables-cli"></a>

Para executar os comandos a seguir, você deve ter a AWS CLI instalada e configurada. Se ainda não tiver a AWS CLI instalada, consulte [Instalar ou atualizar a versão mais recente da AWS CLI](https://docs.aws.amazon.com//cli/latest/userguide/getting-started-install.html) no *Guia do usuário da AWS Command Line Interface*.

Também é possível executar comandos da AWS CLI pelo console usando o AWS CloudShell. O AWS CloudShell é um shell pré-autenticado e baseado em navegador que você pode iniciar diretamente do Console de gerenciamento da AWS. Para ter mais informações, consulte [What is CloudShell?](https://docs.aws.amazon.com//cloudshell/latest/userguide/welcome.html) e [Getting started with AWS CloudShell](https://docs.aws.amazon.com//cloudshell/latest/userguide/getting-started.html) no *Guia do usuário do AWS CloudShell*.

**Como habilitar ou desabilitar tabelas de inventário usando a AWS CLI**

Para usar os exemplos de comando a seguir, substitua os `user input placeholders` por suas próprias informações. 
**nota**  
Antes de habilitar uma configuração de inventário, analise e cumpra os [pré-requisitos](#inventory-table-config-prereqs). 

1. Crie um arquivo JSON que contenha a configuração da tabela de inventário e salve-o (por exemplo, `inventory-config.json`). O exemplo a seguir é uma configuração de amostra para habilitar uma nova tabela de inventário.

   Se você estiver habilitando uma tabela de inventário, poderá, opcionalmente, especificar uma configuração de criptografia. Por padrão, as tabelas de metadados são criptografados com a criptografia do lado do servidor usando chaves gerenciadas pelo Amazon S3 (SSE-S3), que você pode especificar configurando `SseAlgorithm` como `AES256`.

   Para criptografar uma tabela de inventário com criptografia do lado do servidor usando chaves do AWS Key Management Service (AWS KMS) (SSE-KMS), defina como `SseAlgorithm` como `aws:kms`. Você também deve definir `KmsKeyArn` como o ARN de uma chave do KMS gerenciada pelo cliente na mesma região em que o bucket de uso geral está localizado.

   ```
   {
     "ConfigurationState": "ENABLED",
     "EncryptionConfiguration": {       
       "SseAlgorithm": "aws:kms",
       "KmsKeyArn": "arn:aws:kms:us-east-2:account-id:key/key-id"
     }  
   }
   ```

   Se você quiser desabilitar uma tabela de inventário existente, use a seguinte configuração: 

   ```
   {
     "ConfigurationState": "DISABLED"  }  
   }
   ```

1. Use o seguinte comando para atualizar a configuração da tabela de metadados para o bucket de uso geral (por exemplo, `amzn-s3-demo-bucket`):

   ```
   aws s3api update-bucket-metadata-inventory-table-configuration \
   --bucket amzn-s3-demo-source-bucket \
   --inventory-table-configuration file://./inventory-config.json \
   --region us-east-2
   ```

### Uso da API REST
<a name="metadata-tables-enable-disable-inventory-tables-rest-api"></a>

Você pode enviar solicitações REST para habilitar ou desabilitar tabelas de inventário. Para obter mais informações, consulte [https://docs.aws.amazon.com/AmazonS3/latest/API/API_UpdateBucketMetadataInventoryTableConfiguration.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_UpdateBucketMetadataInventoryTableConfiguration.html).

### Uso da SDKs AWS
<a name="metadata-tables-enable-disable-inventory-tables-sdk"></a>

Você pode usar os SDKs da AWS para habilitar ou desabilitar tabelas de inventário no Amazon S3. Para ter mais informações, consulte a [lista de SDKs compatíveis](https://docs.aws.amazon.com/AmazonS3/latest/API/API_UpdateBucketMetadataInventoryTableConfiguration.html#API_UpdateBucketMetadataInventoryTableConfiguration_SeeAlso).

# Visualizar configurações de tabela de metadados
<a name="metadata-tables-view-configuration"></a>

Se você criou uma configuração de tabela de metadados para um bucket de uso geral, poderá visualizar informações sobre a configuração (por exemplo, se uma tabela de inventário foi habilitada ou se a expiração dos registros da tabela de diário foi habilitada). Você também pode visualizar o status das tabelas de diário e de inventário. 

Você pode visualizar uma configuração de tabela de metadados para um bucket de uso geral usando o console do Amazon S3, a AWS Command Line Interface (AWS CLI), os SDKs da AWS ou a API REST do Amazon S3.

## Visualizar uma configuração de tabela de metadados
<a name="metadata-tables-view-configuration-procedure"></a>

### Usar o console do S3
<a name="metadata-tables-view-configuration-console"></a>

**Como visualizar uma configuração de tabela de metadados**

1. Faça login no Console de gerenciamento da AWS e abra o console do Amazon S3 em [https://console.aws.amazon.com/s3/](https://console.aws.amazon.com/s3/).

1. No painel de navegação à esquerda, escolha **Buckets de uso geral**.

1. Escolha o bucket de uso geral que contém a configuração de tabela de metadados que você deseja visualizar.

1. Na página de detalhes do bucket, escolha a guia **Metadados**. 

1. Na guia **Metadados**, role para baixo até a seção **Configuração de metadados**. Nas seções **Tabela de diário** e **Tabela de inventário**, você pode visualizar várias informações referentes a essas configurações, como os nomes de recurso da Amazon (ARNs), o status das tabelas e se você habilitou a expiração dos registros da tabela de diário ou uma tabela de inventário.

### Como usar o AWS CLI
<a name="metadata-tables-view-configuration-cli"></a>

Para executar os comandos a seguir, você deve ter a AWS CLI instalada e configurada. Se ainda não tiver a AWS CLI instalada, consulte [Instalar ou atualizar a versão mais recente da AWS CLI](https://docs.aws.amazon.com//cli/latest/userguide/getting-started-install.html) no *Guia do usuário da AWS Command Line Interface*.

Também é possível executar comandos da AWS CLI pelo console usando o AWS CloudShell. O AWS CloudShell é um shell pré-autenticado e baseado em navegador que você pode iniciar diretamente do Console de gerenciamento da AWS. Para ter mais informações, consulte [What is CloudShell?](https://docs.aws.amazon.com//cloudshell/latest/userguide/welcome.html) e [Getting started with AWS CloudShell](https://docs.aws.amazon.com//cloudshell/latest/userguide/getting-started.html) no *Guia do usuário do AWS CloudShell*.

**Como visualizar uma configuração de tabela de metadados usando a AWS CLI**

Para usar o comando a seguir, substitua os `user input placeholders` por suas próprias informações. 

1. Use o seguinte comando para aplicar a configuração da tabela de metadados ao bucket de uso geral (por exemplo, `amzn-s3-demo-bucket`):

   ```
   aws s3api get-bucket-metadata-configuration \
   --bucket amzn-s3-demo-bucket \
   --region us-east-2
   ```

1. Visualize a saída desse comando para ver o status da configuração da tabela de metadados. Por exemplo:

   ```
   {
       "GetBucketMetadataConfigurationResult": {
           "MetadataConfigurationResult": {
               "DestinationResult": {
                   "TableBucketType": "aws",
                   "TableBucketArn": "arn:aws:s3tables:us-east-2:111122223333:bucket/aws-managed-s3-111122223333-us-east-2",
                   "TableNamespace": "b_general-purpose-bucket-name"
               },
               "JournalTableConfigurationResult": {
                   "TableStatus": "ACTIVE",
                   "TableName": "journal",
                   "TableArn": "arn:aws:s3tables:us-east-2:111122223333:bucket/aws-managed-s3-111122223333-us-east-2/table/0f01234c-fe7a-492f-a4c7-adec3864ea85",
                   "EncryptionConfiguration": {
                       "SseAlgorithm": "AES256"
                   },
                   "RecordExpiration": {
                       "Expiration": "ENABLED",
                       "Days": 10
                   }
               },
               "InventoryTableConfigurationResult": {
                   "ConfigurationState": "ENABLED",
                   "TableStatus": "BACKFILL_COMPLETE",
                   "TableName": "inventory",
                   "TableArn": "arn:aws:s3tables:us-east-2:111122223333:bucket/aws-managed-s3-111122223333-us-east-2/table/e123456-b876-4e5e-af29-bb055922ee4d",
                   "EncryptionConfiguration": {
                       "SseAlgorithm": "AES256"
                   }
               }
           }
       }
   }
   ```

### Uso da API REST
<a name="metadata-tables-view-configuration-rest-api"></a>

Você pode enviar solicitações REST para visualizar uma configuração de tabela de metadados. Para obter mais informações, consulte [https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketMetadataTableConfiguration.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketMetadataTableConfiguration.html).

**nota**  
Você pode usar a operação de API `GetBucketMetadataConfiguration` da V2 com configurações de tabela de metadados da V1 ou V2. No entanto, se você tentar usar a operação de API `GetBucketMetadataTableConfiguration` da V1 com as configurações da V2, receberá o erro HTTP `405 Method Not Allowed`.

### Usar SDKs da AWS
<a name="metadata-tables-view-configuration-sdk"></a>

Você pode usar os SDKs da AWS para visualizar uma configuração de tabela de metadados no Amazon S3. Para ter mais informações, consulte a [lista de SDKs compatíveis](https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketMetadataTableConfiguration.html#API_GetBucketMetadataTableConfiguration_SeeAlso).

# Excluir configurações de tabelas de metadados
<a name="metadata-tables-delete-configuration"></a>

Se você quiser interromper a atualização de uma configuração de tabelas de metadados para um bucket de uso geral do Amazon S3, poderá excluir a configuração de tabelas de metadados que está anexada ao bucket. A exclusão de uma configuração de tabela de metadados exclui apenas a configuração. O bucket de tabela gerenciado pela AWS e suas tabelas de metadados continuarão existindo, mesmo que você exclua a configuração da tabela de metadados. No entanto, as tabelas de metadados não serão mais atualizadas.

**nota**  
Se você excluir sua configuração de tabela de metadados e quiser criar uma configuração novamente para o mesmo bucket de uso geral, primeiro exclua manualmente as tabelas de diário e inventário antigas do bucket de tabelas gerenciado pela AWS. Do contrário, não será possível criar outra configuração de tabela de metadados, porque essas tabelas já existem. Para excluir uma tabela de metadados, consulte [Excluir tabelas de metadados](metadata-tables-delete-table.md). 

Para excluir uma tabela de metadados, consulte [Excluir uma tabela de metadados](metadata-tables-delete-table.md#delete-metadata-table-procedure). Para excluir o bucket de tabela, consulte [Deleting table buckets](https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-tables-buckets-delete.html) e [https://docs.aws.amazon.com/AmazonS3/latest/API/API_s3TableBuckets_DeleteTableBucket.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_s3TableBuckets_DeleteTableBucket.html) na *Referência de API do Amazon S3*. 

Você pode excluir uma configuração de tabelas de metadados usando o console do Amazon S3, a AWS Command Line Interface (AWS CLI), os AWS SDKs ou a API REST do Amazon S3.

## Excluir uma configuração de tabelas de metadados
<a name="delete-metadata-config-procedure"></a>

### Usar o console do S3
<a name="delete-metadata-config-console"></a>

**Como excluir uma configuração de tabelas de metadados**

1. Faça login no Console de gerenciamento da AWS e abra o console do Amazon S3 em [https://console.aws.amazon.com/s3/](https://console.aws.amazon.com/s3/).

1. No painel de navegação à esquerda, escolha **Buckets de uso geral**.

1. Escolha o bucket de uso geral do qual você deseja remover uma configuração de tabelas de metadados. 

1. Na página de detalhes do bucket, escolha a guia **Metadados**. 

1. Na guia **Metadados**, escolha **Excluir**.

1. Na caixa de diálogo **Excluir configuração de metadados**, insira **confirm** para confirmar que deseja excluir a configuração. Escolha **Excluir**. 

### Como usar o AWS CLI
<a name="delete-metadata-config-cli"></a>

Para executar os comandos a seguir, você deve ter a AWS CLI instalada e configurada. Se ainda não tiver a AWS CLI instalada, consulte [Instalar ou atualizar a versão mais recente da AWS CLI](https://docs.aws.amazon.com//cli/latest/userguide/getting-started-install.html) no *Guia do usuário da AWS Command Line Interface*.

Também é possível executar comandos da AWS CLI pelo console usando o AWS CloudShell. O AWS CloudShell é um shell pré-autenticado e baseado em navegador que você pode iniciar diretamente do Console de gerenciamento da AWS. Para ter mais informações, consulte [What is CloudShell?](https://docs.aws.amazon.com//cloudshell/latest/userguide/welcome.html) e [Getting started with AWS CloudShell](https://docs.aws.amazon.com//cloudshell/latest/userguide/getting-started.html) no *Guia do usuário do AWS CloudShell*.

**Como excluir uma configuração de tabelas de metadados usando a AWS CLI**

Para usar os exemplos de comando a seguir, substitua os `user input placeholders` por suas próprias informações. 

1. Use o comando a seguir para excluir a configuração de tabelas de metadados do bucket de uso geral (por exemplo, `amzn-s3-demo-bucket`):

   ```
   aws s3api delete-bucket-metadata-configuration \
   --bucket amzn-s3-demo-bucket \
   --region us-east-2
   ```

1. Para verificar se a configuração foi excluída, execute o seguinte comando:

   ```
   aws s3api get-bucket-metadata-configuration \
   --bucket amzn-s3-demo-bucket \
   --region us-east-2
   ```

### Uso da API REST
<a name="delete-metadata-config-rest-api"></a>

Você pode enviar solicitações REST para excluir uma configuração de tabelas de metadados. Para obter mais informações, consulte [https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucketMetadataConfiguration.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucketMetadataConfiguration.html).

**nota**  
Você pode usar a operação de API `DeleteBucketMetadataConfiguration` da V2 com configurações de tabela de metadados da V1 ou V2. No entanto, se você tentar usar a operação de API `DeleteBucketMetadataTableConfiguration` da V1 com as configurações da V2, receberá o erro HTTP `405 Method Not Allowed`.

### Usar SDKs da AWS
<a name="delete-metadata-config-sdk"></a>

Você pode usar os AWS SDKs para excluir uma configuração de tabelas de metadados no Amazon S3. Para ter mais informações, consulte a [lista de SDKs compatíveis](https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucketMetadataConfiguration.html#API_DeleteBucketMetadataConfiguration_SeeAlso).

# Excluir tabelas de metadados
<a name="metadata-tables-delete-table"></a>

Se você quiser excluir as tabelas de metadados que criou para um bucket de uso geral do Amazon S3, poderá excluí-las do bucket de tabela gerenciado pela AWS. 

**Importante**  
A exclusão de uma tabela é permanente e não pode ser desfeita. Antes de excluir uma tabela, verifique se você fez backup de todos os dados importantes.
Antes de excluir uma tabela de metadados, recomendamos primeiro excluir a configuração de tabelas de metadados associada no bucket de uso geral. Para obter mais informações, consulte [Excluir configurações de tabelas de metadados](metadata-tables-delete-configuration.md).

Para excluir um bucket de tabela gerenciado pela AWS, consulte [Excluir um bucket de tabela](https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-tables-buckets-delete.html) e [https://docs.aws.amazon.com/AmazonS3/latest/API/API_s3TableBuckets_DeleteTableBucket.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_s3TableBuckets_DeleteTableBucket.html) na *Referência de API do Amazon S3*. Antes de excluir o bucket de tabela gerenciado pela AWS, recomendamos primeiro excluir todas as configurações de tabela de metadados associadas a esse bucket. Também é necessário primeiro excluir todas as tabelas de metadados no bucket. 

Você pode excluir uma tabela de metadados usando a AWS Command Line Interface (AWS CLI), os AWS SDKs ou a API REST do Amazon S3.

## Excluir uma tabela de metadados
<a name="delete-metadata-table-procedure"></a>

### Como usar o AWS CLI
<a name="delete-metadata-table-cli"></a>

Para executar os comandos a seguir, você deve ter a AWS CLI instalada e configurada. Se ainda não tiver a AWS CLI instalada, consulte [Instalar ou atualizar a versão mais recente da AWS CLI](https://docs.aws.amazon.com//cli/latest/userguide/getting-started-install.html) no *Guia do usuário da AWS Command Line Interface*.

Também é possível executar comandos da AWS CLI pelo console usando o AWS CloudShell. O AWS CloudShell é um shell pré-autenticado e baseado em navegador que você pode iniciar diretamente do Console de gerenciamento da AWS. Para ter mais informações, consulte [What is CloudShell?](https://docs.aws.amazon.com//cloudshell/latest/userguide/welcome.html) e [Getting started with AWS CloudShell](https://docs.aws.amazon.com//cloudshell/latest/userguide/getting-started.html) no *Guia do usuário do AWS CloudShell*.

**Como excluir uma configuração de tabelas de metadados usando a AWS CLI**

Para usar os exemplos de comando a seguir, substitua os `user input placeholders` por suas próprias informações. 

1. Use o seguinte comando para excluir a tabela de metadados do bucket de tabela gerenciado pela AWS:

   ```
   aws s3tables delete-table \
   --table-bucket-arn arn:aws:s3tables:us-east-2:111122223333:bucket/aws-s3 \
   --namespace b_general-purpose-bucket-name \
   --name journal \
   --region us-east-2
   ```

1. Para verificar se a tabela foi excluída, execute o seguinte comando:

   ```
   aws s3tables get-table \
   --table-bucket-arn arn:aws:s3tables:us-east-2:111122223333:bucket/aws-s3 \
   --namespace b_general-purpose-bucket-name \
   --name journal \
   --region us-east-2
   ```

### Uso da API REST
<a name="delete-metadata-table-rest-api"></a>

Você pode enviar solicitações REST para excluir uma configuração de tabelas de metadados. Para obter mais informações, consulte [https://docs.aws.amazon.com/AmazonS3/latest/API/API_s3TableBuckets_DeleteTable.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_s3TableBuckets_DeleteTable.html) na *Referência da API do Amazon S3*.

### Usar SDKs da AWS
<a name="delete-metadata-table-sdk"></a>

Você pode usar os AWS SDKs para excluir uma configuração de tabelas de metadados no Amazon S3. Para ter mais informações, consulte a [lista de SDKs compatíveis](https://docs.aws.amazon.com/AmazonS3/latest/API/API_s3TableBuckets_DeleteTable.html#API_s3TableBuckets_DeleteTable_SeeAlso) na *Referência de API do Amazon S3*.

# Consultar tabelas de metadados
<a name="metadata-tables-querying"></a>

As tabelas do Amazon S3 Metadata são armazenadas em um bucket de tabela do S3 gerenciado pela AWS, que fornece armazenamento otimizado para dados tabulares. Para consultar metadados, você pode integrar o bucket de tabela ao Amazon SageMaker Lakehouse. Essa integração, que usa o AWS Glue Data Catalog e o AWS Lake Formation, permite que os serviços de analytics da AWS descubram e acessem dados de tabela automaticamente. 

Depois que o bucket de tabela for integrado ao AWS Glue Data Catalog, você poderá consultar diretamente as tabelas de metadados com serviços de analytics da AWS, como Amazon Athena, Amazon EMR e Amazon Redshift. Também é possível criar painéis interativos com os dados de consulta usando o Amazon Quick.

Para ter mais informações sobre como integrar um bucket de tabela do S3 gerenciado pela AWS com o Amazon SageMaker Lakehouse, consulte [Integrar a funcionalidade Tabelas do Amazon S3 a serviços de analytics da AWS](s3-tables-integrating-aws.md).

Você também pode consultar suas tabelas de metadados com o Apache Spark, o Apache Trino e qualquer outra aplicação que aceite o formato Apache Iceberg usando o endpoint REST do Iceberg do AWS Glue, o endpoint REST do Iceberg da funcionalidade Tabelas do Amazon S3 ou o Catálogo de Tabelas do Amazon S3 para o catálogo de cliente do Apache Iceberg. Para ter mais informações sobre como acessar as tabelas de metadados, consulte [Acessar dados da tabela](s3-tables-access.md).

Saiba como analisar as tabelas de metadados com qualquer mecanismo de consulta compatível com o formato Apache Iceberg. Por exemplo, você pode consultar suas tabelas de metadados para fazer o seguinte:
+ Descobrir padrões e tendências de uso do armazenamento.
+ Auditar o uso de chaves de criptografia do AWS Key Management Service (AWS KMS) nos objetos.
+ Pesquisar objetos por metadados definidos pelo usuário e tags de objeto.
+ Entender as alterações nos metadados de objetos ao longo do tempo.
+ Saber quando os objetos são atualizados ou excluídos, incluindo o ID da Conta da AWS ou o endereço IP que fez a solicitação.

Também é possível unir tabelas de metadados gerenciadas pelo S3 e tabelas de metadados personalizadas, o que permite consultar vários conjuntos de dados.

## Considerações sobre os preços de consultas
<a name="metadata-tables-querying-pricing"></a>

Há preços adicionais para a execução de consultas nas tabelas de metadados. Saiba mais nas informações sobre os preços do mecanismo de consulta que você está usando.

Para ter mais informações sobre como tornar as consultas mais econômicas, consulte [Otimizar a performance das consultas de tabelas de metadados](metadata-tables-optimizing-query-performance.md).

**Topics**
+ [Considerações sobre os preços de consultas](#metadata-tables-querying-pricing)
+ [Permissões para consultar tabelas de metadados](metadata-tables-bucket-query-permissions.md)
+ [Consultar tabelas de metadados com serviços de analytics da AWS](metadata-tables-bucket-integration.md)
+ [Consultar tabelas de metadados com mecanismos de consulta de código aberto](metadata-tables-bucket-integration-open-source.md)
+ [Otimizar a performance das consultas de tabelas de metadados](metadata-tables-optimizing-query-performance.md)
+ [Exemplos de consultas a tabelas de metadados](metadata-tables-example-queries.md)

# Permissões para consultar tabelas de metadados
<a name="metadata-tables-bucket-query-permissions"></a>

Antes de consultar o diário do S3 Metadata e as tabelas de inventário em tempo real, você deve ter determinadas permissões da funcionalidade Tabelas do S3. Se suas tabelas de metadados tiverem sido criptografados com a criptografia do lado do servidor usando chaves do AWS Key Management Service (AWS KMS) (SSE-KMS), você também deverá ter a permissão `kms:Decrypt` para descriptografar os respectivos dados. 

Quando você cria uma configuração de tabela de metadados, as tabelas de metadados são armazenadas em um bucket de tabela gerenciado pela AWS. Todas as configurações de tabela de metadados na sua conta e na mesma região são armazenadas em um único bucket de tabela gerenciado pela AWS denominado `aws-s3`. 

Para consultar tabelas de metadados, você pode usar a política de exemplo a seguir. Para usar essa política, substitua os `user input placeholders` por suas próprias informações.

```
{
   "Version":"2012-10-17",		 	 	 
   "Statement":[
      {
         "Sid":"PermissionsToQueryMetadataTables",
         "Effect":"Allow",
         "Action":[
             "s3tables:GetTable",
             "s3tables:GetTableData",
             "s3tables:GetTableMetadataLocation",
             "kms:Decrypt"
         ],
         "Resource":[
            "arn:aws:s3tables:us-east-1:111122223333:bucket/aws-s3",
            "arn:aws:s3tables:us-east-1:111122223333:bucket/aws-s3/table/*",
            "arn:aws:kms:us-east-1:111122223333:key/01234567-89ab-cdef-0123-456789abcdef"
         ]
       }
    ]
}
```

# Consultar tabelas de metadados com serviços de analytics da AWS
<a name="metadata-tables-bucket-integration"></a>

Você pode consultar as tabelas de metadados gerenciadas pelo S3 usando os serviços de analytics da AWS, como Amazon Athena, Amazon Redshift e Amazon EMR.

Antes de executar consultas, primeiro é necessário [integrar os buckets de tabela do S3 gerenciados pela AWS](s3-tables-integrating-aws.md) em sua região e Conta da AWS aos serviços de analytics da AWS.

## Consultar tabelas de metadados com o Amazon Athena
<a name="metadata-tables-bucket-integration-athena"></a>

Depois de [integrar os buckets de tabela do S3 gerenciados pela AWS](https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-tables-integrating-aws.html) aos serviços de analytics da AWS, você pode começar a consultar as tabelas de metadados no Athena. Em suas consultas, faça o seguinte: 
+ Especifique o catálogo como `s3tablescatalog/aws-s3` e o banco de dados como `b_general_purpose_bucket_name` (que normalmente é o namespace para as tabelas de metadados). 
+ Coloque os nomes dos namespaces da tabela de metadados entre aspas (`"`) ou acentos graves (```). Do contrário, a consulta pode não funcionar.

Para ter mais informações, consulte [Querying Amazon S3 tables with Athena](https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-tables-integrating-athena.html).

Também é possível executar consultas no Athena pelo console do Amazon S3. 

### Usar o console do S3 e o Amazon Athena
<a name="query-metadata-table-console"></a>

O procedimento a seguir usa o console do Amazon S3 para acessar o editor de consultas do Athena e possibilitar que você consulte uma tabela com o Amazon Athena. 

**Como consultar uma tabela de metadados**

1. Faça login no Console de gerenciamento da AWS e abra o console do Amazon S3 em [https://console.aws.amazon.com/s3/](https://console.aws.amazon.com/s3/).

1. No painel de navegação à esquerda, escolha **Buckets de uso geral**.

1. Na guia **Buckets de uso geral**, escolha o bucket que contém a configuração de metadados para a tabela de metadados que você deseja consultar.

1. Na página de detalhes do bucket, escolha a guia **Metadados**. 

1. Escolha **Consultar tabela com Athena** e selecione uma das consultas de amostra para tabelas de diário ou de inventário.

1. O console do Amazon Athena é aberto e o editor de consultas do Athena aparece com uma amostra de consulta carregada para você. Modifique essa consulta conforme necessário para seu caso de uso.

   No Editor de Consultas, o campo **Catálogo** deve ser preenchido com **s3tablescatalog/aws-s3.** O campo **Banco de dados** deve ser preenchido com o namespace em que sua tabela está armazenada (por exemplo, **b\$1*general-purpose-bucket-name***). 
**nota**  
Caso não veja esses valores nos campos **Catálogo** e **Banco de dados**, verifique se você integrou o bucket de tabela gerenciado pela AWS aos serviços de analytics da AWS nessa região. Para obter mais informações, consulte [Integrar a funcionalidade Tabelas do Amazon S3 a serviços de analytics da AWS](s3-tables-integrating-aws.md). 

1. Para executar a consulta, escolha **Run** (Executar).
**nota**  
Se você receber o erro “Insufficient permissions to execute the query. Principal does not have any privilege on specified resource” ao tentar executar uma consulta no Athena, você deverá receber as permissões necessárias do Lake Formation na tabela. Para obter mais informações, consulte [Conceder permissão ao Lake Formation em uma tabela ou um banco de dados](grant-permissions-tables.md#grant-lf-table).  
Também garanta que você tenha as permissões apropriadas do AWS Identity and Access Management (IAM) para consultar tabelas de metadados. Para obter mais informações, consulte [Permissões para consultar tabelas de metadados](metadata-tables-bucket-query-permissions.md).
Se você receber o erro “Iceberg cannot access the requested resource” ao tentar executar a consulta, acesse o console do AWS Lake Formation e verifique se você se autoconcedeu permissões no catálogo do bucket de tabela e no banco de dados (namespace) que criou. Não especifique uma tabela ao conceder essas permissões. Para obter mais informações, consulte [Conceder permissão ao Lake Formation em uma tabela ou um banco de dados](grant-permissions-tables.md#grant-lf-table). 

## Consultar tabelas de metadados com o Amazon Redshift
<a name="metadata-tables-bucket-integration-redshift"></a>

Depois de [integrar os buckets de tabela do S3 gerenciados pela AWS aos serviços de analytics da AWS](https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-tables-integrating-aws.html), faça o seguinte:
+ [Crie um link de recurso](https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-tables-integrating-aws.html#database-link-tables) para o namespace da tabela de metadados (normalmente `b_general_purpose_bucket_name`). 
+ Coloque os nomes dos namespaces da tabela de metadados entre aspas (`"`) ou acentos graves (```). Do contrário, a consulta pode não funcionar. 

Depois disso, você pode começar a consultar as tabelas de metadados no console do Amazon Redshift. Para ter mais informações, consulte [Accessing Amazon S3 tables with Amazon Redshift](https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-tables-integrating-redshift.html).

## Consultar tabelas de metadados com o Amazon EMR
<a name="metadata-tables-bucket-integration-emr"></a>

Para consultar as tabelas de metadados usando o Amazon EMR, crie um cluster do Amazon EMR configurado para o Apache Iceberg e estabeleça conexão com as tabelas de metadados usando o Apache Spark. Você pode configurar isso integrando os buckets de tabela do S3 gerenciados pela AWS aos serviços de analytics da AWS ou usando o Catálogo de Tabelas do Amazon S3 de código aberto para o catálogo de cliente do Iceberg.

**nota**  
Ao usar o Apache Spark no Amazon EMR ou em outros mecanismos de terceiros para consultar tabelas de metadados, recomendamos que você use o endpoint REST do Iceberg da funcionalidade Tabelas do Amazon S3. Sua consulta pode não ser executada com êxito se você não usar esse endpoint. Para obter mais informações, consulte [Acessar tabelas usando o endpoint Iceberg REST do serviço Tabelas do Amazon S3](s3-tables-integrating-open-source.md).

 Para ter mais informações, consulte [Accessing Amazon S3 tables with Amazon EMR](https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-tables-integrating-emr.html).

# Consultar tabelas de metadados com mecanismos de consulta de código aberto
<a name="metadata-tables-bucket-integration-open-source"></a>

Você pode consultar as tabelas de metadados gerenciadas pelo S3 usando mecanismos de consulta de código aberto, como o Apache Spark. Ao usar o Apache Spark no Amazon EMR ou em outros mecanismos de terceiros para consultar tabelas de metadados, recomendamos que você use o endpoint REST do Iceberg da funcionalidade Tabelas do Amazon S3. Sua consulta pode não ser executada com êxito se você não usar esse endpoint. Para obter mais informações, consulte [Acessar tabelas usando o endpoint Iceberg REST do serviço Tabelas do Amazon S3](s3-tables-integrating-open-source.md).

# Otimizar a performance das consultas de tabelas de metadados
<a name="metadata-tables-optimizing-query-performance"></a>

Como o S3 Metadata é baseado no formato de tabela Apache Iceberg, você pode otimizar o desempenho e o [custo](#metadata-tables-optimizing-query-performance) das consultas a tabelas de diário usando intervalos de tempo específicos.

Por exemplo, a consulta SQL a seguir fornece o nível de sensibilidade de novos objetos em um bucket de uso geral do S3:

```
SELECT key, object_tags['SensitivityLevel'] 
FROM "b_general-purpose-bucket-name"."journal"
WHERE record_type = 'CREATE'
GROUP BY object_tags['SensitivityLevel']
```

Como essa consulta examina toda a tabela de diário, ela pode levar muito tempo para ser executada. Para melhorar a performance, você pode incluir a coluna `record_timestamp` para enfocar um intervalo de tempo específico. Também recomendamos usar o nome de tabela totalmente qualificado, que você pode encontrar na página de detalhes da configuração de metadados do console do Amazon S3, na guia **Metadados** do bucket de uso geral. Aqui está uma versão atualizada da consulta anterior que analisa novos objetos do mês passado:

```
SELECT key, object_tags['SensitivityLevel'] 
FROM b_general-purpose-bucket-name"."aws-s3.b_general-purpose-bucket-name.journal"
WHERE record_type = 'CREATE'
AND record_timestamp > (CURRENT_TIMESTAMP – interval '1' month)
GROUP BY object_tags['SensitivityLevel']
```

Para melhorar o desempenho das consultas em tabelas de inventário, consulte somente as colunas mínimas necessárias. 

# Exemplos de consultas a tabelas de metadados
<a name="metadata-tables-example-queries"></a>

Os exemplos a seguir mostram como você pode obter diferentes tipos de informações das tabelas do S3 Metadata usando consultas SQL padrão.

Lembre-se do seguinte ao usar esses exemplos:
+ Os exemplos foram escritos para funcionar com o Amazon Athena. Talvez seja necessário modificar os exemplos para trabalhar com um mecanismo de consulta diferente.
+ Entenda como [otimizar as consultas](metadata-tables-optimizing-query-performance.md).
+ Substitua `b_general-purpose-bucket-name` pelo nome do seu namespace. 
+ Para conferir uma lista completa de colunas compatíveis, consulte [Esquema de tabelas de diário do S3 Metadata](metadata-tables-schema.md) e [Esquema de tabelas de inventário em tempo real do S3 Metadata](metadata-tables-inventory-schema.md). 

**Contents**
+ [Consultas de exemplo a tabelas de diário](#metadata-tables-example-queries-journal-tables)
  + [Encontrar objetos por extensão de arquivo](#metadata-tables-example-query-object-pattern)
  + [Listar exclusões de objetos](#metadata-tables-example-query-delete-events)
  + [Listar as chaves de criptografia do AWS KMS usadas pelos objetos](#metadata-tables-example-query-objects-using-kms-key)
  + [Listar objetos que não usam chaves do KMS](#metadata-tables-example-query-objects-not-using-kms-key)
  + [Listar as chaves de criptografia do AWS KMS usadas para operações `PUT` nos últimos sete dias](#metadata-tables-example-query-objects-using-kms-key-puts)
  + [Listar objetos excluídos nas últimas 24 horas pela funcionalidade Ciclo de Vida do S3](#metadata-tables-example-query-objects-deleted-lifecycle)
  + [Visualizar metadados fornecidos pelo Amazon Bedrock](#metadata-tables-example-query-bedrock)
  + [Noções básicas sobre o estado atual dos objetos](#metadata-tables-example-query-current-state)
+ [Consultas de exemplo a tabelas de inventário](#metadata-tables-example-queries-inventory-tables)
  + [Descobrir conjuntos de dados que usam tags específicas](#metadata-tables-example-query-datasets-specific-tags)
  + [Listar objetos não criptografados com SSE-KMS](#metadata-tables-example-query-objects-not-kms-encrypted)
  + [Listar objetos que não estão criptografados](#metadata-tables-example-query-objects-not-encrypted)
  + [Listar objetos gerados pelo Amazon Bedrock](#metadata-tables-example-query-objects-generated-bedrock)
  + [Reconciliar a tabela de inventário com a tabela de diário](#metadata-tables-example-query-generate-latest-inventory)
  + [Como encontrar as versões atuais de seus objetos](#metadata-tables-example-query-latest-version)
+ [Unir metadados personalizados com tabelas de metadados do S3](metadata-tables-join-custom-metadata.md)
+ [Visualizar dados de tabelas de metadados com o Amazon Quick](metadata-tables-quicksight-dashboards.md)

## Consultas de exemplo a tabelas de diário
<a name="metadata-tables-example-queries-journal-tables"></a>

Você pode usar os exemplos de consulta a seguir para consultar tabelas de diário.

### Encontrar objetos por extensão de arquivo
<a name="metadata-tables-example-query-object-pattern"></a>

A seguinte consulta exibe objetos com uma extensão de arquivo específica (`.jpg`, neste caso):

```
SELECT key FROM "s3tablescatalog/aws-s3"."b_general-purpose-bucket-name"."journal"
WHERE key LIKE '%.jpg'
AND record_type = 'CREATE'
```

### Listar exclusões de objetos
<a name="metadata-tables-example-query-delete-events"></a>

A seguinte consulta exibe eventos de exclusão de objetos, incluindo o ID da Conta da AWS ou a entidade principal do serviço da AWS que fez a solicitação:

```
SELECT DISTINCT bucket, key, sequence_number, record_type, record_timestamp, requester, source_ip_address, version_id
FROM "s3tablescatalog/aws-s3"."b_general-purpose-bucket-name"."journal"
WHERE record_type = 'DELETE';
```

### Listar as chaves de criptografia do AWS KMS usadas pelos objetos
<a name="metadata-tables-example-query-objects-using-kms-key"></a>

A seguinte consulta exibe o ARN das chaves do AWS Key Management Service (AWS KMS) que criptografam os objetos:

```
SELECT DISTINCT kms_key_arn
FROM "s3tablescatalog/aws-s3"."b_general-purpose-bucket-name"."journal";
```

### Listar objetos que não usam chaves do KMS
<a name="metadata-tables-example-query-objects-not-using-kms-key"></a>

A seguinte consulta exibe objetos que não estão criptografados com chaves do AWS KMS:

```
SELECT DISTINCT kms_key_arn
FROM "s3tablescatalog/aws-s3"."b_general-purpose-bucket-name"."journal"
WHERE encryption_status NOT IN ('SSE-KMS', 'DSSE-KMS')
AND record_type = 'CREATE';
```

### Listar as chaves de criptografia do AWS KMS usadas para operações `PUT` nos últimos sete dias
<a name="metadata-tables-example-query-objects-using-kms-key-puts"></a>

A seguinte consulta exibe o ARN das chaves do AWS Key Management Service (AWS KMS) que criptografam os objetos:

```
SELECT DISTINCT kms_key_arn 
FROM "s3tablescatalog/aws-s3"."b_general-purpose-bucket-name"."journal"
WHERE record_timestamp > (current_date - interval '7' day)
AND kms_key_arn is NOT NULL;
```

### Listar objetos excluídos nas últimas 24 horas pela funcionalidade Ciclo de Vida do S3
<a name="metadata-tables-example-query-objects-deleted-lifecycle"></a>

A seguinte consulta exibe listas de objetos expirados no último dia pela funcionalidade Ciclo de Vida do S3:

```
SELECT bucket, key, version_id, last_modified_date, record_timestamp, requester
FROM "s3tablescatalog/aws-s3"."b_general-purpose-bucket-name"."journal"
WHERE requester = 's3.amazonaws.com'
AND record_type = 'DELETE' 
AND record_timestamp > (current_date - interval '1' day)
```

### Visualizar metadados fornecidos pelo Amazon Bedrock
<a name="metadata-tables-example-query-bedrock"></a>

Alguns serviços da AWS (como o [Amazon Bedrock](https://docs.aws.amazon.com/bedrock/latest/APIReference/welcome.html)) fazem upload de objetos no Amazon S3. Você pode consultar os metadados de objetos fornecidos por esses serviços. Por exemplo, a seguinte consulta inclui a coluna `user_metadata` para determinar se há objetos carregados pelo Amazon Bedrock em um bucket de uso geral:

```
SELECT DISTINCT bucket, key, sequence_number, record_type, record_timestamp, user_metadata
FROM "s3tablescatalog/aws-s3"."b_general-purpose-bucket-name"."journal"
WHERE record_type = 'CREATE'
AND user_metadata['content-source'] = 'AmazonBedrock';
```

Se o Amazon Bedrock tiver feito upload de um objeto no bucket, a coluna `user_metadata` exibirá os seguintes metadados associados ao objeto no resultado da consulta:

```
user_metadata
{content-additional-params -> requestid="CVK8FWYRW0M9JW65", signedContentSHA384="38b060a751ac96384cd9327eb1b1e36a21fdb71114be07434c0cc7bf63f6e1da274edebfe76f65fbd51ad2f14898b95b", content-model-id -> bedrock-model-arn, content-source -> AmazonBedrock}
```

### Noções básicas sobre o estado atual dos objetos
<a name="metadata-tables-example-query-current-state"></a>

A consulta a seguir pode ajudar você a determinar o estado atual dos objetos. A consulta identifica a versão mais recente de cada objeto, filtra para eliminar os objetos excluídos e marca a versão mais recente de cada objeto com base nos números de sequência. Os resultados são ordenados pelas colunas `bucket`, `key` e `sequence_number`.

```
WITH records_of_interest as (
   -- Start with a query that can narrow down the records of interest.
    SELECT * from "s3tablescatalog/aws-s3"."b_general-purpose-bucket-name"."journal"
),

version_stacks as (
   SELECT *,
          -- Introduce a column called 'next_sequence_number', which is the next larger
          -- sequence_number for the same key version_id in sorted order.
          LEAD(sequence_number, 1) over (partition by (bucket, key, coalesce(version_id, '')) order by sequence_number ASC) as next_sequence_number
   from records_of_interest
),

-- Pick the 'tip' of each version stack triple: (bucket, key, version_id).
-- The tip of the version stack is the row of that triple with the largest sequencer.
-- Selecting only the tip filters out any row duplicates.
-- This isn't typical, but some events can be delivered more than once to the table
-- and include rows that might no longer exist in the bucket (since the
-- table contains rows for both extant and extinct objects).
-- In the next subquery, eliminate the rows that contain deleted objects.
current_versions as (
    SELECT * from version_stacks where next_sequence_number is NULL
),

-- Eliminate the rows that are extinct from the bucket by filtering with
-- record_type. An object version has been deleted from the bucket if its tip is
-- record_type==DELETE.
existing_current_versions as (
    SELECT * from current_versions where not (record_type = 'DELETE' and is_delete_marker = FALSE)
),

-- Optionally, to determine which of several object versions is the 'latest',
-- you can compare their sequence numbers. A version_id is the latest if its
-- tip's sequencer is the largest among all other tips in the same key.
with_is_latest as (
    SELECT *,
           -- Determine if the sequence_number of this row is the same as the largest sequencer for the key that still exists.
           sequence_number = (MAX(sequence_number) over (partition by (bucket, key))) as is_latest_version
    FROM existing_current_versions
)

SELECT * from with_is_latest
ORDER BY bucket, key, sequence_number;
```

## Consultas de exemplo a tabelas de inventário
<a name="metadata-tables-example-queries-inventory-tables"></a>

Você pode usar os exemplos de consulta a seguir para consultar tabelas de inventário.

### Descobrir conjuntos de dados que usam tags específicas
<a name="metadata-tables-example-query-datasets-specific-tags"></a>

A seguinte consulta exibe o conjunto de dados que usa as tags especificadas:

```
SELECT * 
FROM "s3tablescatalog/aws-s3"."b_general-purpose-bucket-name"."inventory"
WHERE object_tags['key1'] = 'value1'
AND object_tags['key2'] = 'value2';
```

### Listar objetos não criptografados com SSE-KMS
<a name="metadata-tables-example-query-objects-not-kms-encrypted"></a>

A seguinte consulta exibe objetos que não estão criptografados com SSE-KMS:

```
SELECT key, encryption_status 
FROM "s3tablescatalog/aws-s3"."b_general-purpose-bucket-name"."inventory"
WHERE encryption_status != 'SSE-KMS';
```

### Listar objetos que não estão criptografados
<a name="metadata-tables-example-query-objects-not-encrypted"></a>

A seguinte consulta exibe objetos que não estão criptografados:

```
SELECT bucket, key, version_id  
FROM "s3tablescatalog/aws-s3"."b_general-purpose-bucket-name"."inventory"
WHERE encryption_status IS NULL;
```

### Listar objetos gerados pelo Amazon Bedrock
<a name="metadata-tables-example-query-objects-generated-bedrock"></a>

A seguinte consulta lista objetos que foram gerados pelo Amazon Bedrock:

```
SELECT DISTINCT bucket, key, sequence_number, user_metadata
FROM "s3tablescatalog/aws-s3"."b_general-purpose-bucket-name"."inventory"
WHERE user_metadata['content-source'] = 'AmazonBedrock';
```

### Reconciliar a tabela de inventário com a tabela de diário
<a name="metadata-tables-example-query-generate-latest-inventory"></a>

A consulta a seguir gera uma lista semelhante a uma tabela de inventário que está de acordo com o conteúdo atual do bucket. Mais precisamente, a lista resultante combina o snapshot mais recente da tabela de inventário com os eventos mais recentes na tabela de diário. 

Para que essa consulta produza os resultados mais precisos, as tabelas de diário e inventário devem estar no status “Ativo”.

Recomendamos usar essa consulta para buckets de uso geral que contêm menos de 1 bilhão (10^9) de objetos.

Esse exemplo de consulta aplica as seguintes simplificações aos resultados da lista (em comparação com a tabela de inventário):
+ **Omissões de coluna**: as colunas`bucket`, `is_multipart`, `encryption_status`, `is_bucket_key_enabled`, `kms_key_arn` e `checksum_algorithm` não fazem parte dos resultados finais. Manter o conjunto de colunas opcionais no mínimo melhora o desempenho.
+ **Inclusão de todos os registros**: a consulta exibe todas as chaves e versões do objeto, inclusive a versão nula (em buckets sem versionamento ou com versionamento suspenso) e os marcadores de exclusão. Para ver exemplos de como filtrar os resultados para mostrar somente as chaves pelas quais você tem interesse, consulte a cláusula `WHERE` no final da consulta.
+ **Reconciliação acelerada**: em casos raros, a consulta pode relatar temporariamente objetos que não estão mais no bucket. Essas discrepâncias serão eliminadas assim que o próximo snapshot da tabela de inventário estiver disponível. Esse comportamento é uma concessão entre desempenho e precisão.

Para executar essa consulta no Amazon Athena, selecione o catálogo `s3tablescatalog/aws-s3` e o banco de dados `b_general-purpose-bucket-name` para a configuração de metadados do bucket de uso geral que contém suas tabelas de diário e inventário.

```
WITH inventory_time_cte AS (
    SELECT COALESCE(inventory_time_from_property, inventory_time_default) AS inventory_time FROM
    (
      SELECT * FROM
        (VALUES (TIMESTAMP '2024-12-01 00:00')) AS T (inventory_time_default)
      LEFT OUTER JOIN
        (
         SELECT from_unixtime(CAST(value AS BIGINT) / 1000.0) AS inventory_time_from_property FROM "journal$properties"
         WHERE key = 'aws.s3metadata.oldest-uncoalesced-record-timestamp' LIMIT 1
        )
      ON TRUE
    )
),

working_set AS (
    SELECT
        key,
        sequence_number,
        version_id,
        is_delete_marker,
        size,
        COALESCE(last_modified_date, record_timestamp) AS last_modified_date,
        e_tag,
        storage_class,
        object_tags,
        user_metadata,
        (record_type = 'DELETE' AND NOT COALESCE(is_delete_marker, FALSE)) AS _is_perm_delete
    FROM journal j
    CROSS JOIN inventory_time_cte t
    WHERE j.record_timestamp > (t.inventory_time - interval '15' minute)

    UNION ALL

    SELECT
        key,
        sequence_number,
        version_id,
        is_delete_marker,
        size,
        last_modified_date,
        e_tag,
        storage_class,
        object_tags,
        user_metadata,
        FALSE AS _is_perm_delete
    FROM inventory i
),

updated_inventory AS (
    SELECT * FROM (
        SELECT *,
            MAX(sequence_number) OVER (PARTITION BY key, version_id) AS _supremum_sn
        FROM working_set
    )
    WHERE sequence_number = _supremum_sn
)

SELECT
    key,
    sequence_number,
    version_id,
    is_delete_marker,
    size,
    last_modified_date,
    e_tag,
    storage_class,
    object_tags,
    user_metadata
FROM updated_inventory
-- This filter omits only permanent deletes from the results. Delete markers will still be shown.
WHERE NOT _is_perm_delete
-- You can add additional filters here. Examples:
--    AND object_tags['department'] = 'billing'
--    AND starts_with(key, 'reports/')
ORDER BY key ASC, sequence_number DESC;
```

### Como encontrar as versões atuais de seus objetos
<a name="metadata-tables-example-query-latest-version"></a>

A consulta a seguir usa a tabela de inventário para gerar uma nova tabela de saída que mostra quais versões do objeto são atuais. A tabela de saída é intencionalmente semelhante a um relatório do Inventário S3. A tabela de saída inclui um campo `is_latest`, que indica se a versão de um objeto é a atual. O campo `is_latest` é equivalente ao campo **IsLatest** em um [relatório do Inventário S3](storage-inventory.md#storage-inventory-contents). 

Essa consulta funciona para buckets de uso geral com [versionamento do S3](Versioning.md) em um estado de versionamento habilitado ou suspenso. 

**Pré-requisitos**  
A consulta envia os resultados a uma nova tabela do S3 para permitir consultas adicionais e aumentar o desempenho em vez de gerar linhas na tela. Portanto, antes de executar essa consulta, as condições a seguir devem ser atendidas. Se optar por não enviar os resultados a uma nova tabela, poderá ignorar essas etapas. 
+ Você deve ter um bucket de tabela existente gerenciado pelo cliente com um namespace existente como local para gerar a nova tabela. Para obter mais informações, consulte [Criar um bucket de tabela](s3-tables-buckets-create.md) e [Criar namespaces](s3-tables-namespace-create.md). 
+ Para consultar a nova tabela de saída, você deve configurar um método de acesso. Para obter mais informações, consulte [Acessar dados da tabela](s3-tables-access.md). Se você quiser consultar a tabela de saída com serviços de analytics da AWS, como o Amazon Athena, o bucket de tabela gerenciado pelo cliente deve estar integrado aos serviços de analytics da AWS. Para obter mais informações, consulte [Visão geral sobre a integração da funcionalidade Tabelas do Amazon S3 com serviços de analytics da AWS](s3-tables-integration-overview.md). 

Para usar essa consulta, substitua `amzn-s3-demo-table-bucket` pelo nome do bucket de tabela existente gerenciado pelo cliente no qual você deseja que a nova tabela de saída seja criada. Substitua *`existing_namespace`* pelo nome do namespace em que você deseja que a tabela de saída seja criada em seu bucket de tabela. Substitua *`new_table`* pelo nome que você deseja usar para a tabela de saída. O nome da tabela de saída deve seguir as [regras de nomenclatura de tabela](s3-tables-buckets-naming.md#naming-rules-table).

Para executar essa consulta no Amazon Athena, selecione o catálogo `s3tablescatalog/aws-s3` e o banco de dados `b_general-purpose-bucket-name` para a configuração de metadados do bucket de uso geral que contém a tabela de inventário. 

```
-- If you don't want to output the results to a new table, remove the following two lines 
-- (everything before the WITH clause). 
CREATE TABLE "s3tablescatalog/amzn-s3-demo-table-bucket"."existing_namespace"."new_table" 
as (
WITH 
my_inventory AS (
  SELECT 
        bucket,
        key,
        version_id,
        sequence_number,
        is_delete_marker,
        size,
        last_modified_date,
        storage_class
  FROM inventory
-- For prefix filtering, use a WHERE clause with % at the end.
--     WHERE key LIKE 'prefix%'
  ),
 
inventory_with_is_latest as (
SELECT *,
       ROW_NUMBER() OVER (
         PARTITION BY key 
         ORDER BY sequence_number DESC
       ) = 1 AS is_latest
FROM my_inventory
    )

SELECT
        bucket,
        key,
        version_id,
        sequence_number,
        is_delete_marker,
        size,
        last_modified_date,
        storage_class,
        is_latest

FROM inventory_with_is_latest

-- If you want only the current version of each key, uncomment the following WHERE clause.
-- WHERE is_latest = TRUE
-- If you aren't outputting the results to a new table, remove the next line: 
);
```

# Unir metadados personalizados com tabelas de metadados do S3
<a name="metadata-tables-join-custom-metadata"></a>

Você pode analisar dados nas tabelas de metadados gerenciadas pela AWS e nas tabelas de metadados de clientes (autogerenciadas). Usando um operador SQL `JOIN` padrão, você pode consultar dados dessas várias fontes.

O exemplo de consulta SQL a seguir encontra registros correspondentes entre uma tabela de diário gerenciada pela AWS (`"journal"`) e uma tabela de metadados autogerenciada (`my_self_managed_metadata_table`). A consulta também filtra as informações com base em eventos `CREATE`, que indicam que um novo objeto (ou uma nova versão do objeto) foi gravado no bucket. (Para obter mais informações, consulte [Esquema de tabelas de diário do S3 Metadata](metadata-tables-schema.md).)

```
SELECT *
FROM "s3tablescatalog/aws-s3"."b_general-purpose-bucket-name"."journal" a
JOIN "my_namespace"."my_self_managed_metadata_table" b
ON a.bucket = b.bucket AND a.key = b.key AND a.version_id = b.version_id
WHERE a.record_type = 'CREATE';
```

O seguinte exemplo de consulta SQL encontra registros correspondentes entre uma tabela de inventário gerenciada pela AWS (`"inventory"`) e uma tabela de metadados autogerenciada (`my_self_managed_metadata_table`).

```
SELECT *
FROM "s3tablescatalog/aws-s3"."b_general-purpose-bucket-name"."inventory" a
JOIN "my_namespace"."my_self_managed_metadata_table" b
ON a.bucket = b.bucket AND a.key = b.key AND a.version_id = b.version_id;
```

# Visualizar dados de tabelas de metadados com o Amazon Quick
<a name="metadata-tables-quicksight-dashboards"></a>

Com o Amazon Quick, você pode criar painéis interativos para analisar e visualizar resultados de consultas SQL sobre as tabelas de metadados gerenciadas pelo S3. Os painéis do Quick podem ajudar você a monitorar estatísticas, rastrear alterações e obter insights operacionais sobre as tabelas de metadados.

Um painel sobre as tabelas de diário pode mostrar:
+ Qual é a porcentagem de uploads de objetos em relação às exclusões.
+ Quais objetos foram excluídos pela funcionalidade Ciclo de Vida do S3 nas últimas 24 horas?
+ De quais endereços IP vieram as solicitações `PUT` mais recentes?

Um painel sobre as tabelas de inventário pode mostrar:
+ Quantos objetos estão em diferentes classes de armazenamento.
+ Qual porcentagem dos dados de armazenamento são objetos pequenos em comparação com objetos grandes?
+ Quais tipos de objetos estão no bucket.

Depois de [integrar os buckets de tabela do S3](https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-tables-integrating-aws.html) aos serviços de analytics da AWS, você pode criar conjuntos de dados com base nas tabelas de metadados e trabalhar com eles no Amazon Quick usando consultas SPICE ou SQL direto do mecanismo de consulta. O Quick permite usar o Amazon Athena e o Amazon Redshift como fontes de dados.

Para ter mais informações, consulte [Visualizar dados de tabelas de metadados com o Amazon Quick](https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-tables-integrating-quicksight.html).

# Solução de problemas do S3 Metadata
<a name="metadata-tables-troubleshooting"></a>

Use as informações a seguir para ajudar a diagnosticar e corrigir problemas comuns que você possa encontrar ao trabalhar com o Amazon S3 Metadata.

## Não consigo excluir meu bucket de tabela e tabelas de metadados gerenciados pela AWS
<a name="metadata-tables-troubleshooting-cannot-delete-aws-managed-bucket-or-tables"></a>

Antes de excluir uma tabela de metadados, primeiro é necessário excluir a configuração de tabelas de metadados associada no bucket de uso geral. Para obter mais informações, consulte [Excluir configurações de tabelas de metadados](metadata-tables-delete-configuration.md).

Antes de excluir o bucket de tabela gerenciado pela AWS, você deve excluir todas as configurações de tabela de metadados associadas a esse bucket e todas as tabelas de metadados no bucket. Para obter mais informações, consulte [Excluir configurações de tabelas de metadados](metadata-tables-delete-configuration.md) e [Excluir tabelas de metadados](metadata-tables-delete-table.md). 

## Não consigo definir ou alterar as configurações de criptografia da minha tabela de metadados gerenciada pela AWS
<a name="metadata-tables-troubleshooting-cannot-change-encryption"></a>

Ao criar sua configuração de tabela de metadados, você pode optar por criptografar as tabelas de metadados gerenciadas pela AWS com a criptografia do lado do servidor usando chaves do AWS Key Management Service (AWS KMS) (SSE-KMS). Se você optar por usar o SSE-KMS, deverá fornecer uma chave do KMS gerenciada pelo cliente na mesma região do bucket de uso geral. Você pode definir o tipo de criptografia para uma tabela somente ao criá-la. Após a criação de uma tabela gerenciada pela AWS, não é possível alterar a configuração de criptografia. Para especificar o SSE-KMS para uma tabela de metadados, é necessário ter determinadas permissões. Para ter mais informações, consulte [Permissões para SSE-KMS](metadata-tables-permissions.md#metadata-kms-permissions).

A configuração de criptografia de uma tabela de metadados tem precedência sobre a configuração de criptografia padrão em nível de bucket. Se você não especificar a criptografia para uma tabela, ela herdará a configuração de criptografia padrão do bucket.

Por padrão, os buckets de tabela gerenciados pela AWS são criptografados com a criptografia do lado do servidor usando chaves gerenciadas pelo Amazon S3 (SSE-S3). Depois de criar a primeira configuração de metadados, você pode definir a configuração de criptografia padrão para o bucket de tabela gerenciado pela AWS para usar a criptografia do lado do servidor com chaves do AWS Key Management Service (AWS KMS) (SSE-KMS). Para ter mais informações, consulte [Criptografia para buckets de tabela gerenciados pela AWS](https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-tables-aws-managed-buckets.html#aws-managed-buckets-encryption) e [Especificar a criptografia do lado do servidor com chaves do AWS KMS (SSE-KMS) em buckets de tabela](s3-tables-kms-specify.md).

## Quando tento recriar minha configuração de tabela de metadados, recebo um erro
<a name="metadata-tables-troubleshooting-cannot-recreate-configuration"></a>

A exclusão de uma configuração de tabela de metadados exclui apenas a configuração. O bucket de tabela gerenciado pela AWS e suas tabelas de metadados continuarão existindo, mesmo que você exclua a configuração da tabela de metadados. 

Se você excluir sua configuração de tabela de metadados e quiser criar uma configuração novamente para o mesmo bucket de uso geral, primeiro exclua manualmente as tabelas de diário e inventário antigas do bucket de tabelas gerenciado pela AWS. Do contrário, não será possível criar outra configuração de tabela de metadados, porque essas tabelas já existem. 

Para excluir uma tabela de metadados, consulte [Excluir tabelas de metadados](metadata-tables-delete-table.md).

## Não consigo habilitar uma tabela de inventário na minha configuração
<a name="metadata-tables-troubleshooting-cannot-enable-inventory"></a>

Se você tiver criado sua configuração do S3 Metadata antes de 15 de julho de 2025, não poderá habilitar uma tabela de inventário nessa configuração. Recomendamos que você exclua e recrie sua configuração para poder criar uma tabela de inventário e expirar os registros da tabela de diário. Para obter mais informações, consulte [Habilitar tabelas de inventário em configurações de metadados criadas antes de 15 de julho de 2025](metadata-tables-create-configuration.md#metadata-tables-migration).

## Não consigo habilitar a expiração dos registro da tabela de diário na minha configuração
<a name="metadata-tables-troubleshooting-cannot-enable-record-expiration"></a>

Se você tiver criado sua configuração do S3 Metadata antes de 15 de julho de 2025, não poderá habilitar a expiração dos registro da tabela de diário nessa configuração. Recomendamos que você exclua e crie novamente sua configuração para poder expirar os registros da tabela de diário e criar uma tabela de inventário. Para obter mais informações, consulte [Habilitar tabelas de inventário em configurações de metadados criadas antes de 15 de julho de 2025](metadata-tables-create-configuration.md#metadata-tables-migration).

## Não consigo consultar minhas tabelas de metadados
<a name="metadata-tables-troubleshooting-cannot-query-metadata-tables"></a>

Caso não consiga consultar suas tabelas de metadados, confira o seguinte:
+ Ao usar o Amazon Athena ou o Amazon Redshift para consultar tabelas de metadados, você deve colocar o nome dos namespaces da tabela de metadados entre aspas (`"`) ou acentos graves (```); do contrário, a consulta pode não funcionar.
+ Ao usar o Apache Spark no Amazon EMR ou em outros mecanismos de terceiros para consultar tabelas de metadados, recomendamos que você use o endpoint REST do Iceberg da funcionalidade Tabelas do Amazon S3. Sua consulta pode não ser executada com êxito se você não usar esse endpoint. Para obter mais informações, consulte [Acessar tabelas usando o endpoint Iceberg REST do serviço Tabelas do Amazon S3](s3-tables-integrating-open-source.md).
+ Garanta que você tenha as permissões apropriadas do AWS Identity and Access Management (IAM) para consultar tabelas de metadados. Para obter mais informações, consulte [Permissões para consultar tabelas de metadados](metadata-tables-bucket-query-permissions.md).
+ Se você estiver usando o Amazon Athena e receber erros ao tentar executar suas consultas, faça o seguinte:
  + Se você receber o erro “Insufficient permissions to execute the query. Principal does not have any privilege on specified resource” ao tentar executar uma consulta no Athena, você deverá receber as permissões necessárias do Lake Formation na tabela. Para obter mais informações, consulte [Conceder permissão ao Lake Formation em uma tabela ou um banco de dados](grant-permissions-tables.md#grant-lf-table).
  + Se você receber o erro “Iceberg cannot access the requested resource” ao tentar executar a consulta, acesse o console do AWS Lake Formation e verifique se você se autoconcedeu permissões no catálogo do bucket de tabela e no banco de dados (namespace) que criou. Não especifique uma tabela ao conceder essas permissões. Para obter mais informações, consulte [Conceder permissão ao Lake Formation em uma tabela ou um banco de dados](grant-permissions-tables.md#grant-lf-table). 

## Estou recebendo erros 405 quando tento usar determinados comandos da AWS CLI do S3 Metadata e operações de API
<a name="metadata-tables-troubleshooting-405-errors"></a>

Chamar a operação de API `GetBucketMetadataTableConfiguration` da V1 ou usar o comando `get-bucket-metadata-table-configuration` da AWS Command Line Interface (AWS CLI) em uma configuração de tabela de metadados da V2 gera o HTTP `405 Method Not Allowed`. Da mesma forma, chamar a operação de API `DeleteBucketMetadataTableConfiguration` da V1 ou usar o comando `delete-bucket-metadata-table-configuration` da AWS CLI também causa um erro 405.

Você pode usar a operação de API `GetBucketMetadataConfiguration` da V2 ou o comando `get-bucket-metadata-configuration` da AWS CLI em uma configuração de tabela de metadados da V1 ou V2. Da mesma forma, você pode usar a operação de API `DeleteBucketMetadataConfiguration` da V2 ou o comando `delete-bucket-metadata-configuration` da AWS CLI em uma configuração de tabela de metadados da V1 ou V2.

Recomendamos atualizar seus processos para usar as novas operações de API da V2 (`CreateBucketMetadataConfiguration`, `GetBucketMetadataConfiguraion` e `DeleteBucketMetadataConfiguration`) em vez das operações de API da V1. Para ter mais informações sobre como migrar da V1 do S3 Metadata para a V2, consulte [Habilitar tabelas de inventário em configurações de metadados criadas antes de 15 de julho de 2025](metadata-tables-create-configuration.md#metadata-tables-migration).

Para determinar se sua configuração é V1 ou V2, você pode examinar o seguinte atributo da resposta da API `GetBucketMetadataConfiguration`. Um tipo de bucket gerenciado pela AWS (`"aws"`) indica uma configuração V2, enquanto um tipo de bucket gerenciado pelo cliente (`"customer"`) indica uma configuração V1.

```
"MetadataTableConfigurationResult": {
            "TableBucketType": ["aws" | "customer"]
```

Para obter mais informações, consulte [Visualizar configurações de tabela de metadados](metadata-tables-view-configuration.md).