Cómo usar Time to Live (TTL) para caducar datos - Amazon Keyspaces (para Apache Cassandra)

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Cómo usar Time to Live (TTL) para caducar datos

Puede utilizar la consola de Amazon Keyspaces (para Apache Cassandra) o CQL para habilitar, actualizar y deshabilitar la configuración de periodo de vida.

Para crear una nueva tabla con la configuración de periodo de vida (TTL) predeterminada habilitada (consola)

Siga estos pasos para crear una nueva tabla con la configuración de periodo de vida habilitada con la consola de Amazon Keyspaces.

  1. Inicie sesión en la AWS Management Console consola de Amazon Keyspaces y ábrala en https://console.aws.amazon.com/keyspaces/home.

  2. En el panel de navegación, elija Tablas y, a continuación, seleccione Crear tabla.

  3. En la página Crear tabla, en la sección Detalles de la tabla, seleccione un espacio de claves y proporcione un nombre para la nueva tabla.

  4. En la sección Esquema, cree el esquema para su tabla.

  5. En la sección Configuración de la tabla, elija Personalizar configuración.

  6. Continúe en Periodo de vida (TTL).

    En este paso, seleccione la configuración TTL predeterminada para la tabla.

    En Periodo TTL predeterminado, introduzca el tiempo de caducidad y elija la unidad de tiempo introducida, por ejemplo segundos, días o años. Amazon Keyspaces almacena el valor en segundos.

  7. Elija Crear tabla. Su tabla se crea con el valor TTL predeterminado especificado.

nota

Puede sobrescribir el valor TTL predeterminado de la tabla para filas o columnas específicas utilizando el lenguaje de manipulación de datos (DML) en el editor CQL.

Para actualizar la configuración predeterminada de periodo de vida (TTL) en tablas existentes (consola)

Siga estos pasos para actualizar la configuración de periodo de vida (TTL) para tablas existentes con la consola de Amazon Keyspaces.

  1. Inicie sesión en la AWS Management Console consola de Amazon Keyspaces y ábrala en https://console.aws.amazon.com/keyspaces/home.

  2. Elija la tabla que desee actualizar y luego la pestaña Configuración adicional.

  3. Vaya a Periodo de vida (TTL) y elija Editar.

  4. En Periodo TTL predeterminado, introduzca el tiempo de caducidad y elija la unidad de tiempo introducida, por ejemplo segundos, días o años. Amazon Keyspaces almacena el valor en segundos. Esto no cambia el valor de TTL de las filas existentes.

  5. Una vez definida la configuración de TTL, elija Guardar cambios.

Para deshabilitar la configuración predeterminada de periodo de vida (TTL) en tablas existentes (consola)

Siga estos pasos para deshabilitar la configuración de periodo de vida (TTL) para tablas existentes con la AWS Management Console de Amazon Keyspaces.

  1. Inicie sesión en la AWS Management Console consola de Amazon Keyspaces y ábrala en https://console.aws.amazon.com/keyspaces/home.

  2. Elija la tabla que desee actualizar y luego la pestaña Configuración adicional.

  3. Vaya a Periodo de vida (TTL) y elija Editar.

  4. Seleccione Período TTL predeterminado y establezca el valor en cero. Esto deshabilita TTL en la tabla de forma predeterminada para datos futuros. Esto no cambia el valor de TTL de las filas existentes.

  5. Una vez definida la configuración de TTL, elija Guardar cambios.

Para crear una nueva tabla con la configuración de periodo de vida (TTL) predeterminada habilitada mediante CQL

Active TTL al crear una tabla nueva con el valor de TTL predeterminado establecido en 3 024 000 segundos, lo que representa 35 días.

CREATE TABLE my_table ( userid uuid, time timeuuid, subject text, body text, user inet, PRIMARY KEY (userid, time) ) WITH default_time_to_live = 3024000;

Para confirmar la configuración de TTL para la nueva tabla, utilice la instrucción cqlsh describe como se muestra en el siguiente ejemplo. El resultado muestra la configuración de TTL predeterminada para la tabla como default_time_to_live.

describe my_table;

Para utilizar ALTER TABLE para editar la configuración predeterminada de periodo de vida (TTL) mediante CQL

Actualice la configuración de TTL para la tabla existente a 2 592 000 segundos, lo que representa 30 días.

ALTER TABLE my_table WITH default_time_to_live = 2592000;

Para confirmar la configuración de TTL para la tabla actualizada, utilice la instrucción cqlsh describe como se muestra en el siguiente ejemplo. El resultado muestra la configuración de TTL predeterminada para la tabla como default_time_to_live.

describe my_table;

Cómo habilitar el periodo de vida (TTL) en tablas nuevas mediante propiedades personalizadas

Para habilitar la configuración personalizada de periodo de vida que se puede aplicar a filas y columnas sin habilitar la configuración predeterminada de TTL para toda la tabla, puede utilizar la siguiente instrucción CQL.

CREATE TABLE my_keyspace.my_table (id int primary key) WITH CUSTOM_PROPERTIES={'ttl':{'status': 'enabled'}};

Una vez habilitado, ttl no se puede deshabilitar para la tabla.

Cómo habilitar el periodo de vida (TTL) en tablas existentes mediante propiedades personalizadas

Para habilitar la configuración personalizada de periodo de vida que se puede aplicar a filas y columnas sin habilitar la configuración predeterminada de TTL para toda la tabla, puede utilizar la siguiente instrucción CQL.

ALTER TABLE my_table WITH CUSTOM_PROPERTIES={'ttl':{'status': 'enabled'}};

Una vez habilitado, ttl no se puede deshabilitar para la tabla.

Para utilizar INSERT para editar la configuración personalizada de periodo de vida (TTL) mediante CQL

La siguiente instrucción CQL inserta una fila de datos en la tabla y cambia la configuración predeterminada de TTL a 259 200 segundos (lo que equivale a 3 días).

INSERT INTO my_table (userid, time, subject, body, user) VALUES (B79CB3BA-745E-5D9A-8903-4A02327A7E09, 96a29100-5e25-11ec-90d7-b5d91eceda0a, 'Message', 'Hello','205.212.123.123') USING TTL 259200;

Para confirmar la configuración de TTL para la fila insertada, utilice la siguiente instrucción.

SELECT TTL (subject) from my_table;

Para utilizar UPDATE para editar la configuración personalizada de periodo de vida (TTL) mediante CQL

Para cambiar la configuración de TTL de la columna “subject” insertada anteriormente de 259 200 segundos (3 días) a 86 400 segundos (un día), utilice la siguiente instrucción.

UPDATE my_table USING TTL 86400 set subject = 'Updated Message' WHERE userid = B79CB3BA-745E-5D9A-8903-4A02327A7E09 and time = 96a29100-5e25-11ec-90d7-b5d91eceda0a;

Puede ejecutar una consulta select simple para ver el registro actualizado antes del tiempo de caducidad.

SELECT * from my_table;

La consulta muestra la siguiente salida.

userid | time | body | subject | user --------------------------------------+--------------------------------------+-------+-----------------+----------------- b79cb3ba-745e-5d9a-8903-4a02327a7e09 | 96a29100-5e25-11ec-90d7-b5d91eceda0a | Hello | Updated Message | 205.212.123.123 50554d6e-29bb-11e5-b345-feff819cdc9f | cf03fb21-59b5-11ec-b371-dff626ab9620 | Hello | Message | 205.212.123.123

Para confirmar que la caducidad tuvo éxito, vuelva a ejecutar la misma consulta después del tiempo de caducidad configurado.

SELECT * from my_table;

La consulta muestra la siguiente salida después de que la columna “subject” haya caducado.

userid | time | body | subject | user --------------------------------------+--------------------------------------+-------+---------+----------------- b79cb3ba-745e-5d9a-8903-4a02327a7e09 | 96a29100-5e25-11ec-90d7-b5d91eceda0a | Hello | null | 205.212.123.123 50554d6e-29bb-11e5-b345-feff819cdc9f | cf03fb21-59b5-11ec-b371-dff626ab9620 | Hello | Message | 205.212.123.123