Configura flujos de cambios
Si deseas hacer un seguimiento de los cambios de datos realizados en una tabla de Bigtable, puedes habilitar un flujo de cambios para la tabla y, luego, leerlo con una aplicación como Dataflow. Antes de leer este documento, consulta la Descripción general de los flujos de cambios. En particular, asegúrate de conocer los costos que se generan cuando se transmiten cambios.
En esta página, se describe cómo habilitar, inhabilitar y cambiar el período de retención de un flujo de cambios.
Para obtener instrucciones sobre cómo crear una tabla nueva con un flujo de cambios habilitado, consulta Crea una tabla.
Función requerida
Para obtener los permisos que necesitas para habilitar, inhabilitar o modificar un flujo de cambios de Bigtable, pídele a tu administrador que te otorgue la siguiente función 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 Google Cloud consola.
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 para la que deseas habilitar un flujo de cambios.
Haz clic en Habilitar flujo de cambios.
En el campo Hora de vencimiento, ingresa un número del 1 al 7 para configurar la cantidad de días que se deben retener los registros de flujo de datos.
Haz clic en Guardar.
gcloud
Para habilitar un flujo de cambios en una tabla, usa el gcloud bigtable instances
tables update
comando.
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: Es el ID de la tabla cuyos cambios deseas transmitir.INSTANCE_ID: Es la instancia que contiene la tabla.PROJECT_ID: Es el proyecto que contiene la instancia.CHANGE_STREAM_RETENTION_PERIOD: Es el período durante el que Bigtable debe conservar los datos del flujo de cambios de la tabla. No debe ser inferior a un día ni superior 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
Inhabilita un flujo de cambios
Puedes inhabilitar el flujo de cambios de una tabla en cualquier momento. Los registros de flujo de datos que se crearon antes de que inhabilites el flujo de cambios continúan consumiendo almacenamiento hasta la próxima compactación, pero ya no se te cobra por ese almacenamiento. No puedes leer un flujo de cambios después de inhabilitarlo, incluidos los cambios registrados antes de que lo inhabilite.
Console
Abre la lista de instancias de Bigtable en la Google Cloud consola.
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.
Borra la marca de verificación de Habilitar flujo de cambios.
Haz clic en Guardar.
gcloud
Para inhabilitar un flujo de cambios en una tabla, usa el gcloud bigtable instances
tables update
comando.
gcloud bigtable instances tables update TABLE_ID \
--instance=INSTANCE_ID \
--project=PROJECT_ID \
--clear-change-stream-retention-period
Reemplaza lo siguiente:
TABLE_ID: Es el ID de la tabla cuyos cambios deseas transmitir.INSTANCE_ID: Es la instancia que contiene la tabla.PROJECT_ID: Es 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 tus registros de flujo de cambios. Si reduces la cantidad de días, los registros que se transmitieron antes del cambio de configuración continúan consumiendo almacenamiento hasta la próxima compactación. Después del cambio de configuración, solo puedes transmitir cambios desde el período especificado recientemente.
Si aumentas el tiempo de retención, no es retroactivo: los flujos de cambios se conservan durante la cantidad de días aumentada a partir de que modificas la configuración.
Console
Abre la lista de instancias de Bigtable en la Google Cloud consola.
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 retener los registros de 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 gcloud
bigtable instances tables
update
comando.
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: Es el ID de la tabla cuyos cambios deseas transmitir.INSTANCE_ID: Es la instancia que contiene la tabla.PROJECT_ID: Es el proyecto que contiene la instancia.CHANGE_STREAM_RETENTION_PERIOD: Es el período durante el que Bigtable debe conservar los datos del flujo de cambios de 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 para leer flujos de cambios.
- Lee un instructivo sobre el procesamiento de un flujo de cambios.