Expiração do registro de tabelas - Amazon Simple Storage Service

Expiração do registro de tabelas

Por padrão, os registros nas tabelas do S3 não expiram. Para ajudar a minimizar os custos de armazenamento de tabelas, você pode habilitar e configurar a expiração de registros das tabelas. Com essa opção, o Amazon S3 remove automaticamente os registros de uma tabela quando eles expiram.

Se você habilitar a expiração de registros para uma tabela, especifique o número de dias para retê-los na tabela até a expiração. Pode ser qualquer número de dias, entre 1 dia e 2.147.483.647 dias. Por exemplo, para reter os registros da tabela por um ano, especifique 365 dias. Os registros serão mantidos por 365 dias. Após 365 dias, eles expiram e o Amazon S3 os remove automaticamente.

É possível habilitar e configurar a expiração de registros para tabelas gerenciadas pela AWS que armazenam conjuntos de dados específicos de determinados Serviços da AWS, no momento a Lente de Armazenamento do Amazon S3 e o Catálogo do Amazon SageMaker. Atualmente, as opções de expiração de registros não estão disponíveis para outras tabelas gerenciadas pela AWS. A exceção são as tabelas de diário de metadados do Amazon S3. As tabelas de diário usam configurações distintas de expiração de registros que são especificadas em nível de serviço. Para ter informações sobre como configurar a expiração de registros para esse tipo de tabela, consulte Registros expirados da tabela de diário. Observe que as opções de expiração de registros não estão disponíveis para as tabelas do S3 que você cria.

Após a habilitação da expiração de registros para uma tabela, é possível desabilitá-la a qualquer momento. Em seguida, o Amazon S3 para de encerrar e remover registros da tabela.

Como funciona a expiração de registros

A expiração de registros remove automaticamente os registros de uma tabela do S3 quando eles são mais antigos do que o número de dias especificado nas respectivas configurações de expiração de registros. Para determinar quando os registros expiram, o Amazon S3 usa carimbos de data/hora específicos nos registros. A escolha da coluna de carimbo de data/hora é deduzida diretamente do esquema de uma tabela. Não é necessário especificar qual coluna de carimbo de data/hora usar. As tabelas são gerenciadas pela AWS e o Amazon S3 escolhe automaticamente a coluna apropriada a ser usada quando a expiração de registros de uma tabela é habilitada.

É possível habilitar e definir as configurações de expiração de registros para tabelas gerenciadas pela AWS que armazenam métricas específicas da Lente de Armazenamento do Amazon S3 ou metadados específicos do Catálogo do Amazon SageMaker. As opções de expiração de registros estão disponíveis para as seguintes tabelas gerenciadas pela AWS desses serviços:

  • Lente de Armazenamento do S3: bucket_property_metrics, default_activity_metrics, default_storage_metrics, expanded_prefixes_activity_metrics e expanded_prefixes_storage_metrics. Para determinar quando os registros nessas tabelas expiram, o Amazon S3 usa o campo report_time nos registros.

  • Catálogo do Amazon SageMaker: ASSET. Para determinar quando os registros nessa tabela expiram, o Amazon S3 usa o campo snapshot_time nos registros.

Após a habilitação da expiração de registros de uma tabela, o Amazon S3 começa a executar trabalhos de expiração de registros que realizam as seguintes operações para a tabela:

  1. Identifica os registros mais antigos do que a configuração de expiração especificada.

  2. Cria um snapshot que exclui referências aos registros expirados.

A remoção também se baseia na expiração do snapshot e nas configurações de remoção de arquivos sem referência nas configurações de manutenção de tabelas. Para saber mais sobre as configurações de capacidade, consulte . Manutenção de tabelas.

Atenção

O Amazon S3 encerra e remove os registros no prazo de 24 a 48 horas depois que eles de tornam elegíveis para expiração. Os registros da tabela são removidos do snapshot mais recente. Os dados e o armazenamento dos registros são removidos por meio de operações de manutenção de tabelas. Depois que os registros da tabela expiram, eles não podem mais ser recuperados.

Configurar a expiração de registros para uma tabela

É possível habilitar, configurar ou gerenciar as configurações de expiração de registros para uma tabela do Amazon S3 usando o console do Amazon S3, a API REST do Amazon S3, a AWS Command Line Interface (AWS CLI) ou SDKs da AWS.

Para tentar realizar essas tarefas em uma tabela, é necessário ter as seguintes permissões do AWS Identity and Access Management (IAM):

  • s3tables:GetTableRecordExpirationConfiguration: esta ação permite acessar as configurações atuais de expiração de registros de tabelas.

  • s3tables:PutTableRecordExpirationConfiguration: esta ação permite habilitar, configurar e desabilitar as configurações de expiração de registros de tabelas.

  • s3tables:GetTableRecordExpirationJobStatus: esta ação permite monitorar o status das operações de expiração de registros (trabalhos) de tabelas e métricas de acesso.

As seções a seguir explicam como habilitar, configurar e desabilitar as configurações de expiração de registros de uma tabela usando o console do Amazon S3 e a AWS CLI. Para realizar essas tarefas com a API REST do Amazon S3 ou um SDK da AWS, use a operação PutTableRecordExpirationConfiguration. Para ter mais informações, consulte Desenvolvimento com o Amazon S3 na Referência de API do Amazon Simple Storage Service.

Para habilitar e definir as configurações de expiração de registros de uma tabela do S3 usando o console, siga as etapas abaixo.

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

  2. No painel de navegação à esquerda, escolha Buckets de tabela.

  3. Na página Buckets de tabela, escolha o bucket que armazena a tabela.

  4. Na guia Tabelas, escolha a tabela.

  5. Na guia Manutenção, na seção Expiração dos registros, escolha Editar.

  6. Em Expiração dos registros, escolha Habilitar.

  7. Em Dias após os quais os registros expiram, insira o número de dias para reter registros na tabela. Pode ser qualquer número inteiro entre 1 e 2.147.483.647. Por exemplo, para reter registros por um ano, insira 365.

    Atenção

    Ao determinar o período de retenção adequado dos registros na tabela, observe que os registros não podem ser recuperados após a expiração.

  8. Escolha Salvar alterações.

Para alterar posteriormente o período de retenção, repita as etapas anteriores.

Para desabilitar posteriormente a expiração de registros, repita as Etapas de 1 a 5. Em seguida, para a Etapa 6, escolha Desabilitar. Quando terminar, escolha Salvar alterações.

Para configurar e gerenciar as configurações de expiração de registros de uma tabela do S3 usando a AWS CLI, execute o comando put-table-record-expiration-configuration.

Para começar, crie um arquivo JSON contendo as configurações de expiração de registros a serem aplicadas à tabela. O exemplo a seguir mostra o conteúdo de um arquivo JSON que habilita a expiração de registros de uma tabela. Ele também especifica um período de retenção de registros de trinta dias na tabela. Em outras palavras, ele especifica que os registros da tabela devem expirar após trinta dias.

{ "status": "enabled", "settings": { "days": 30 { }

Para usar o exemplo precedente, substitua user input placeholders pelas suas próprias informações.

Atenção

Ao determinar o período de retenção adequado dos registros na tabela, observe que os registros não podem ser recuperados após a expiração.

Para desabilitar a expiração de registros de uma tabela, especifique disabled para o campo status e omita o objeto settings do arquivo. Por exemplo:

{ "status": "disabled" }

Depois de criar um arquivo JSON com as configurações a serem aplicadas, execute o comando put-table-record-expiration-configuration. Para o parâmetro table-arn, especifique o nome do recurso da Amazon (ARN) da tabela. Para o parâmetro value, especifique o nome do arquivo que armazena as configurações.

Por exemplo, o comando a seguir atualiza a configuração de expiração de registros de uma tabela. As configurações são especificadas em um arquivo chamado record-expiration-config.json.

aws s3tables put-table-record-expiration-configuration \ --table-arn arn:aws:s3tables:us-east-1:123456789012:bucket/amzn-s3-demo-table-bucket/table/amzn-s3-demo-table \ --value file://./record-expiration-config.json

Para usar o exemplo precedente, substitua user input placeholders pelas suas próprias informações.

Monitorar a expiração do registro de uma tabela

Para monitorar o status e os resultados das operações de expiração de registros de tabelas do S3, use a operação GetTableRecordExpirationJobStatus ou, se estiver usando a AWS CLI, execute o comando get-table-record-expiration-job-status. Em sua solicitação, especifique o nome do recurso da Amazon (ARN) da tabela.

Por exemplo, o comando AWS CLI a seguir recupera o status das operações de expiração de registros de uma tabela específica em um bucket de tabela. Para usar esse exemplo, substitua os user input placeholders por suas próprias informações.

aws s3tables get-table-record-expiration-job-status \ --table-arn arn:aws:s3tables:us-east-1:123456789012:bucket/amzn-s3-demo-table-bucket/table/amzn-s3-demo-table

Se sua solicitação tiver êxito, você receberá uma resposta que fornece determinados detalhes, como a data mais recente em que o Amazon S3 executou operações de expiração de registros de uma tabela e o status dessa execução. Se a execução tiver êxito, a resposta também incluirá métricas de processamento, como o número de arquivos e registros de dados que foram removidos e o tamanho total dos dados que foram removidos. Se ocorrerem erros durante a execução mais recente, a resposta incluirá uma mensagem de falha que descreve por que a execução falhou.

Considerações

Ao definir e gerenciar as configurações de expiração de registros para tabelas do S3 gerenciadas pela AWS, lembre-se do seguinte:

  • A expiração de registros está disponível somente para determinadas tabelas gerenciadas pela AWS criadas por Serviços da AWS compatíveis, como a Lente de Armazenamento do Amazon S3 e o Catálogo do Amazon SageMaker. Além disso, a expiração de registros está disponível somente para tabelas individuais, não para buckets de tabela inteiros.

  • Para determinar quando os registros expiram, o Amazon S3 usa carimbos de data/hora específicos nas tabelas. Esses carimbos de data/hora representam quando os dados foram criados, não quando o Amazon S3 ingeriu os registros em uma tabela. A coluna de carimbo de data/hora usada depende do serviço que publica a tabela: para métricas da Lente de Armazenamento do S3, o campo report_time; e, para metadados do Catálogo do Amazon SageMaker, o campo snapshot_time. Não é possível especificar qual campo usar porque as tabelas são gerenciadas pela AWS.

  • Se houver atrasos na exportação de dados para uma tabela, os registros poderão se tornar elegíveis para expiração antes do esperado. Por esse motivo, é recomendável considerar possíveis atrasos na ingestão adicionando uma folga ao período de retenção nas configurações de expiração para tabelas.

  • Os registros expiram e são removidos no prazo de 24 a 48 horas depois que se tornam elegíveis para expiração. O Amazon S3 não encerra nem remove registros imediatamente depois que eles se tornam elegíveis para expiração.

  • Os registros não podem ser recuperados depois que eles expiram e são removidos.