Configura flujos de cambios
Si deseas hacer un seguimiento de los cambios en los datos realizados en una tabla de Bigtable, puedes habilitar un flujo de cambios para la tabla y, luego, leerla con una aplicación como Dataflow. Antes de leer este documento, consulta la Descripción general de los flujos de cambios. En especial, asegúrate de conocer los costos generados cuando cambia la transmisión.
En esta página, se describe cómo habilitar, inhabilitar y cambiar el período de retención de un flujo de cambios.
Si deseas obtener instrucciones para crear una tabla nueva con un flujo de cambios habilitado, consulta Crea una tabla.
Función requerida
Si quieres obtener los permisos que necesitas para habilitar, inhabilitar o modificar un flujo de cambios de Bigtable, pídele a tu administrador que te otorgue el siguiente rol de IAM.
- Administrador de Bigtable (
roles/bigtable.admin
) en la instancia de Bigtable que contiene la tabla desde la que planeas transmitir cambios.
Habilita un flujo de cambios
Para habilitar un flujo de cambios en una tabla existente, completa los siguientes pasos:
Console
Abre la lista de instancias de Bigtable en la consola de Google Cloud.
Haz clic en la instancia que contiene la tabla para la que deseas habilitar un flujo de cambios.
Haz clic en Tablas en el panel izquierdo.
La página Tablas muestra una lista de tablas en la instancia.
Haz clic en Editar en la tabla en la que deseas habilitar un flujo de cambios.
Haz clic en Habilitar flujo de cambios.
En el campo Tiempo de vencimiento, ingresa un número del 1 al 7 para configurar la cantidad de días que se deben retener los registros del flujo de datos.
Haz clic en Guardar.
gcloud
Para habilitar un flujo de cambios en una tabla, usa el comando gcloud bigtable instances
tables update
.
gcloud bigtable instances tables update TABLE_ID \
--instance=INSTANCE_ID \
--project=PROJECT_ID \
--change-stream-retention-period=CHANGE_STREAM_RETENTION_PERIOD
Reemplaza lo siguiente:
TABLE_ID
: El ID de la tabla cuyos cambios deseas transmitirINSTANCE_ID
: Es la instancia que contiene la tabla.PROJECT_ID
: El proyecto que contiene la instanciaCHANGE_STREAM_RETENTION_PERIOD
: Es el período que Bigtable debe mantener los datos de flujos de cambios en la tabla. Debe ser un día como mínimo y siete días como máximo, expresado como un número y una letra para la unidad. Las unidades aceptables son días (d), horas (h), minutos (m) y segundos (s). Ejemplo:5d
Cómo inhabilitar un flujo de cambios
Puedes inhabilitar los flujos de cambios de una tabla en cualquier momento. Los registros de transmisión de datos que se crearon antes de inhabilitar el flujo de cambios continúan consumiendo almacenamiento hasta la siguiente compactación, pero ya no se te cobrará por ese almacenamiento. No puedes leer una transmisión de cambios después de inhabilitarla, incluidos los cambios que se grabaron antes de inhabilitarla.
Console
Abre la lista de instancias de Bigtable en la consola de Google Cloud.
Haz clic en la instancia que tiene las tablas deseas ver.
Haz clic en Tablas en el panel izquierdo.
La página Tablas muestra una lista de tablas en la instancia.
Haz clic en Editar en la tabla cuya configuración de flujo de cambios deseas inhabilitar.
Desmarca la marca de verificación Habilitar flujo de cambios.
Haz clic en Guardar.
gcloud
Para inhabilitar un flujo de cambios en una tabla, usa el comando gcloud bigtable instances
tables update
.
gcloud bigtable instances tables update TABLE_ID \
--instance=INSTANCE_ID \
--project=PROJECT_ID \
--clear-change-stream-retention-period
Reemplaza lo siguiente:
TABLE_ID
: El ID de la tabla cuyos cambios deseas transmitirINSTANCE_ID
: Es la instancia que contiene la tabla.PROJECT_ID
: El proyecto que contiene la instancia
Modifica el tiempo de retención de un flujo de cambios
Puedes modificar la cantidad de días que Bigtable conserva los registros de flujos de cambios. Si reduces la cantidad de días, los registros que se transmitieron antes del cambio de configuración seguirán consumiendo almacenamiento hasta la siguiente compactación. Después del cambio de configuración, solo puedes transmitir los cambios del período especificado recientemente.
Si aumentas el tiempo de retención, no será retroactivo: los flujos de cambios se conservan durante el aumento de días a partir del momento en que modificas la configuración.
Console
Abre la lista de instancias de Bigtable en la consola de Google Cloud.
Haz clic en la instancia que tiene las tablas deseas ver.
Haz clic en Tablas en el panel izquierdo.
La página Tablas muestra una lista de tablas en la instancia.
Haz clic en Editar en la tabla cuya configuración de flujo de cambios deseas modificar.
En el campo Hora de vencimiento, ingresa un número del 1 al 7 para la cantidad de días que se deben conservar los registros del flujo de datos.
Haz clic en Guardar.
gcloud
Para cambiar el período de retención del flujo de cambios de una tabla, usa el comando gcloud
bigtable instances tables
update
.
gcloud bigtable instances tables update TABLE_ID \
--instance=INSTANCE_ID \
--project=PROJECT_ID \
--change-stream-retention-period=CHANGE_STREAM_RETENTION_PERIOD
Reemplaza lo siguiente:
TABLE_ID
: El ID de la tabla cuyos cambios deseas transmitirINSTANCE_ID
: Es la instancia que contiene la tabla.PROJECT_ID
: El proyecto que contiene la instanciaCHANGE_STREAM_RETENTION_PERIOD
: Es el período que Bigtable debe mantener los datos de flujos de cambios en la tabla. Debe ser de uno a siete días, expresado como un número y una letra para la unidad. Las unidades aceptables son días (d), horas (h), minutos (m) y segundos (s). Ejemplo:5d
¿Qué sigue?
- Lee un flujo de cambios con Dataflow.
- Revisa los precios de Bigtable.
- Completa una guía de inicio rápido para aprender a habilitar un flujo de cambios y ver los cambios.
- Usa la biblioteca cliente de Cloud Bigtable para Java a fin de leer flujos de cambios.
- Sigue un instructivo para procesar una transmisión de cambios.