Hola, 

Si tienen o trabajan en un computador MAC y requieren ver los archivos ocultas, utilicen el atajo de teclado:

command (⌘) + mayúsculas (⇧) + signo punto (.)

Obvio sin los paréntesis.

Esto permitirá mostrar todos los archivos ocultos en el equipo.


Nota:

Recuerden que las carpetas o archivos ocultos en MAC comienzan por . en el nombre, ejemplo: .git 

Hola,
En DynamoDB de AWS Time to Live (TTL) permite definir una marca de tiempo por elemento para determinar cuándo ya no se necesita dicho elemento y eliminarlo de la tabla.
Es una utilidad muy útil para temas de control de datos y para eliminar registros de tablas que se vuelven irrelevantes o muy difíciles de mantener.

Para configurar una TTL en una tabla de DynamoDB, se puede realizar de dos formas:

Primera forma (Por DynamoDB):
Si se tienen todos los permisos (todos los superpoderes), se pueden realizar de forma manual directamente en Dynamo, de la siguiente forma:
  • Ingresar a DynamoDB en AWS.
  • Seleccionar la opción Tablas y ahí escoger la tabla que se le requiere crear la TTL.
  • Ingresar dentro de la tabla a la opción Configuración adicional.
  • Bajar con el scroll del mouse y en el título Tiempo de vida (TTL), presionar el botón Habilitar:

  • Ahí nos llevará a una nueva pantalla en donde se realizara la configuración de la TTL:


  • En la opción Nombre de atributo TTL, se crea el nombre del campo que será la TTL y en la opción Fecha y hora simuladas, se seleccionara el tipo de fecha normalmente se utiliza Valor de tiempo Unix y se asigna un valor por defecto o se deja en vacío.
  • Finalmente se presiona el botón Habilitar TTL y listo, ya queda la TTL habilitada con el campo creado en la tabla de Dynamo seleccionada.
Segunda forma (Por Terraform):
Terraform permite a los usuarios definir y configurar la infraestructura de un centro de datos en un lenguaje de alto nivel, generando un plan de ejecución para desplegar la infraestructura, por lo cual de esta forma y si se tiene una infraestructura configurada y versiona en la base de datos, se realiza de la siguiente forma:
  • En Terraform utilizar el comando:
ttl { attribute_name = "TimeToExist" enabled = true }

En donde attribute_name contiene el nombre de la TTL en la tabla de DynamoDB y el enable se define como true, para que quede activado.

Después de realizar esta codificación se debe versionar y desplegar y ahí queda activa la TTL en DynamoDB.

Nota #1:
Este comando se utiliza dentro de los campos codificados de la tabla, en el siguiente ejemplo se muestra como queda una tabla en Terraform (tf) con todo configurado por código para DynamoDB:

resource "aws_dynamodb_table" "basic-dynamodb-table" { name = "GameScores" read_capacity = 20 write_capacity = 20 hash_key = "UserId" range_key = "GameTitle" attribute { name = "UserId" type = "S" } attribute { name = "GameTitle" type = "S" } attribute { name = "TopScore" type = "N" } ttl { attribute_name = "TimeToExist" enabled = true } global_secondary_index { name = "GameTitleIndex" hash_key = "GameTitle" range_key = "TopScore" write_capacity = 10 read_capacity = 10 projection_type = "INCLUDE" non_key_attributes = ["UserId"] } tags { Name = "dynamodb-table-1" Environment = "production" } }

Si se requiere conocer las definiciones de cada uno de estos argumentos, se pueden consultar en la url: https://runebook.dev/es/docs/terraform/providers/aws/r/dynamodb_table

Tener en cuenta:
Se debe tener en cuenta que la habilitación de TTL puede tardar hasta una hora en aplicarse en todas las particiones. No podrá efectuar cambios de TTL adicionales hasta que se complete esta actualización.

Fuentes:
Buen día,
Si necesitan convertir la fecha actual a formato Time Unix en Java, lo pueden hacer con el siguiente bloque de código, tengan en cuenta que aquí también se le suma días a la fecha actual.

/**
* Método encargado de agregar un numero de dias a la fecha actual del sistema a traves de Calendar,
* para luego convertir esa fecha a Unix Time.
*
* @return un long con la fecha final convertida a Unix Time
*/
private Long obtenerFechaVigenciaEnUnixTime() {

/*
* Define los días adicionales que se le asignaran a la fecha actual, a traves de la clase Calendar
*/
int diasAdicionales = 30;

/*
* Adicionar el numero de dias adicionales a la fecha actual, con la clase Calendar
*/
Date date = new Date();
System.out.println("La fecha actual es: " + date);

Calendar calendar = Calendar.getInstance();
calendar.setTime(date);
calendar.add(Calendar.DATE, diasAdicionales);
date = calendar.getTime();
System.out.println("La fecha de vigencia es: " + date);

/*
* Convertir Calendar a Unix Time, url para validarlo: https://www.cdmon.com/es/apps/conversor-timestamp
*/
long calendarUnixTime = calendar.getTimeInMillis() / 1000;
System.out.println("La fecha final en Unix time es: " + calendarUnixTime);

return calendarUnixTime;

}