Duración del tiempo de vida (TTL) de los registros
El almacén de características de Amazon SageMaker ofrece la opción de eliminar de forma definitiva los registros del almacenamiento en línea una vez transcurrido un tiempo, con la duración del tiempo de vida (TTL) (TtlDuration
). El registro caducará cuando se alcance el EventTime
más TtlDuration
del registro, o ExpiresAt
= EventTime
+ TtlDuration
. La TtlDuration
se puede aplicar a nivel de grupo de características, donde todos los registros del grupo de características tendrán la TtlDuration
de forma predeterminada, o a nivel de registro individual. Si no se especifica la TtlDuration
, el valor predeterminado es null
y el registro permanecerá en el almacenamiento en línea hasta que se sobrescriba.
Un registro eliminado mediante TtlDuration
se elimina de forma permanente, es decir, se elimina definitivamente del almacenamiento en línea, y el registro eliminado se agrega al almacenamiento sin conexión. Para obtener más información sobre los modos de eliminación y eliminación definitiva, consulte DeleteRecord
en la Guía de referencia de la API de Amazon SageMaker. Cuando un registro se elimina de forma definitiva, se hace inmediatamente inaccesible al usar las API del Almacén de características.
importante
TTL suele eliminar los elementos caducados en pocos días. En función del tamaño y el nivel de actividad de una tabla, la operación de eliminación real de un elemento vencido puede variar. Debido a que TTL está destinado a ser un proceso en segundo plano, la naturaleza de la capacidad utilizada para el vencimiento y la eliminación de elementos a través de TTL es variable (pero gratuita). Para obtener más información sobre cómo se eliminan los elementos de una tabla de DynamoDB, consulte Cómo funciona: uso del período de vida (TL) de DynamoDB.
TtlDuration
debe ser un diccionario que contenga una Unit
y un Value
. La Unit
debe ser una cadena con los valores “segundos”, “minutos”, “horas”, “días” o “semanas” y el Value
debe ser un número entero mayor o igual a 1. La TtlDuration
se puede aplicar mientras se utilizan las API CreateFeatureGroup
, UpdateFeatureGroup
y PutRecord
. Consulte la sintaxis de solicitud y respuesta en la documentación del SDK para Python (Boto3) para las API CreateFeatureGroup
UpdateFeatureGroup
PutRecord
-
Cuando la
TtlDuration
se aplica a nivel de grupo de características (mediante las APICreateFeatureGroup
oUpdateFeatureGroup
), laTtlDuration
aplicada pasa a ser laTtlDuration
predeterminada para todos los registros que se agreguen al grupo de características desde el momento en que se llama a la API. Al aplicar laTtlDuration
con la APIUpdateFeatureGroup
, no se convertirá en laTtlDuration
predeterminada para los registros que se crearon antes de que se llamara a la API.Para eliminar el valor de
TtlDuration
predeterminado de un grupo de características existente, utilice la APIUpdateFeatureGroup
y establezcaTtlDuration
,Unit
yValue
ennull
. -
Cuando la
TtlDuration
se aplica a nivel de registro (por ejemplo, mediante una APIPutRecord
), la duración de laTtlDuration
se aplica a ese registro y se utiliza en lugar de laTtlDuration
predeterminada a nivel de grupo de características. -
Cuando la
TtlDuration
se aplica a nivel de grupo de características, es posible que laTtlDuration
tarde unos minutos en surtir efecto. -
Si la
TtlDuration
se usa cuando no hay un almacenamiento en línea, recibirá un mensaje de errorValidation Exception (400)
.
El siguiente código de ejemplo muestra cómo aplicar la TtlDuration
al actualizar un grupo de características, de modo que los registros que se agreguen al grupo de características después de ejecutar la API caduquen, de forma predeterminada, cuatro semanas después de la hora del 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 } } )
Puede usar la API DescribeFeatureGroup
para ver la TtlDuration
predeterminada.
Para ver los momentos de caducidad, ExpiresAt
(horario UTC, formato ISO-8601), mientras utilice las API GetRecord
o BatchGetRecord
debe configurar ExpirationTimeResponse
en ENABLED
. Consulte la sintaxis de solicitud y respuesta en la documentación del SDK para Python (Boto3) para las API DescribeFeatureGroup
GetRecord
BatchGetRecord