Duração do tempo de vida (TTL) dos registros - Amazon SageMaker AI

Duração do tempo de vida (TTL) dos registros

O Amazon SageMaker Feature Store oferece a opção de excluir permanentemente os registros do armazenamento on-line após atingir um período de duração, com duração do tempo de vida (TTL) (TtlDuration). O registro expirará depois que o EventTime do registro mais a TtlDuration forem atingidos, ou ExpiresAt = EventTime + TtlDuration. O TtlDuration pode ser aplicado em um nível de grupo de atributos, em que todos os registros dentro do grupo de atributos terão o TtlDuration por padrão, ou em um nível de registro individual. Se TtlDuration não for especificado, o valor padrão será null e o registro permanecerá no armazenamento on-line até ser sobrescrito.

Um registro excluído usando TtlDuration é excluído permanentemente ou completamente removido do armazenamento on-line, e o registro excluído é adicionado ao armazenamento offline. Para obter mais informações sobre exclusão permanente e modos de exclusão, consulte DeleteRecord no guia de referência da API do Amazon SageMaker. Quando um registro é excluído permanentemente, ele fica imediatamente inacessível usando as APIs do Feature Store.

Importante

A TTL normalmente exclui itens expirados depois de alguns dias. Dependendo do tamanho e do nível de atividade de uma tabela, a operação de exclusão real de um item expirado pode variar. Como o TTL deve ser um processo em segundo plano, a natureza da capacidade usada para expirar e excluir itens via TTL é variável (mas gratuita). Para obter mais informações sobre como os itens são excluídos de uma tabela do DynamoDB, consulte Como funciona: tempo de vida (TTL) do DynamoDB.

A TtlDuration deve ser um dicionário contendo a Unit e o Value, em que a Unit deve ser uma string com valores “Segundos”, “Minutos”, “Horas”, “Dias” ou “Semanas” e o Value deve ser um número inteiro maior ou igual a 1. A TtlDuration pode ser aplicada ao usar as APIs CreateFeatureGroup, UpdateFeatureGroup e PutRecord. Consulte a sintaxe de solicitação e resposta na documentação do SDK para Python (Boto3) para as APIs CreateFeatureGroup, UpdateFeatureGroup e PutRecord.

  • Quando a TtlDuration é aplicada em um nível de grupo de atributos (usando as APIs CreateFeatureGroup ou UpdateFeatureGroup), a TtlDuration aplicada se torna a TtlDuration padrão para todos os registros adicionados ao grupo de atributos a partir do momento em que a API é chamada. Ao aplicar a TtlDuration com a API UpdateFeatureGroup, ela não se tornará a TtlDuration padrão para registros criados antes da chamada da API.

    Para remover o TtlDuration padrão de um grupo de atributos existente, use a API UpdateFeatureGroup e defina TtlDuration Unit e Value como null.

  • Quando a TtlDuration é aplicada em um nível de registro (por exemplo, usando a API PutRecord), a duração TtlDuration se aplica a esse registro e é usada em vez da TtlDuration padrão do nível de grupo de atributos.

  • Quando a TtlDuration é aplicada em um nível de grupo de atributos, pode levar alguns minutos que a TtlDuration entre em vigor.

  • Se a TtlDuration for usada quando não houver armazenamento on-line, você receberá um erro Validation Exception (400).

O código de exemplo a seguir mostra como aplicar uma TtlDuration durante a atualização de um grupo de atributos, de forma que os registros adicionados ao grupo de atributos após a execução da API expirem por padrão quatro semanas após o horário do evento.

import boto3 sagemaker_client = boto3.client("sagemaker") feature_group_name = '<YOUR_FEATURE_GROUP_NAME>' sagemaker_client.update_feature_group( FeatureGroupName=feature_group_name, OnlineStoreConfig={ TtlDuration:{ Unit: "Weeks", Value: 4 } } )

Você pode usar a API DescribeFeatureGroup para ver a TtlDuration padrão.

Para visualizar os prazos de expiração ExpiresAt (no formato ISO-8601 da hora em UTC), ao usar as APIs GetRecord ou BatchGetRecord, você deve definir ExpirationTimeResponse como ENABLED. Consulte a sintaxe de solicitação e resposta na documentação do SDK para Python (Boto3) para as APIs DescribeFeatureGroup, GetRecord e BatchGetRecord.