

# 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`.<br />Registros `CREATE` indicam que um novo objeto (ou uma nova versão do objeto) foi gravado no bucket.<br />Registros `UPDATE_METADATA` capturam alterações nos metadados mutáveis de um objeto existente, como a classe de armazenamento ou as tags.<br />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`.<br />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).<br />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\_METADATA) 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, que poder ser `CRC64NVME`, `CRC32`, `CRC32C`, `SHA1`, `SHA256`, `MD5`, `XXHASH64`, `XXHASH3`, `XXHASH128` ou `SHA512`. 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. | 