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 incurren cuando se realizan cambios en 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.
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 el siguiente rol de IAM.
- Administrador de Bigtable (
roles/bigtable.admin
) en la instancia de Bigtable que contiene la tabla desde la que deseas 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 para la que deseas habilitar un flujo de cambios.
Haz clic en Habilitar el flujo de cambios.
En el campo Hora de vencimiento, ingresa un número entre 1 y 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
: Es el ID de la tabla cuyos cambios deseas transmitir.INSTANCE_ID
: La instancia que contiene la tablaPROJECT_ID
: Es el proyecto que contiene la instancia.CHANGE_STREAM_RETENTION_PERIOD
: Es el tiempo que Bigtable debe conservar los datos del flujo de cambios de la tabla. Debe ser de al menos un día y no más de siete, 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
Inhabilitar un flujo de cambios
Puedes inhabilitar el flujo de cambios de una tabla en cualquier momento. Los registros del flujo de datos que se crearon antes de inhabilitar el flujo de cambios siguen 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 inhabilitarlo.
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.
Quita la marca de verificación de Habilitar el 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
: Es el ID de la tabla cuyos cambios deseas transmitir.INSTANCE_ID
: La instancia que contiene la tablaPROJECT_ID
: Es el proyecto que contiene la instancia.
Modifica el tiempo de retención de una transmisión de cambios
Puedes modificar la cantidad de días que Bigtable conserva los registros de tu transmisión 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 próxima compactación. Después del cambio de configuración, solo podrás transmitir los cambios del período especificado recientemente.
Si aumentas el tiempo de retención, no se aplica de forma retroactiva, es decir, los flujos de cambios se conservan durante la cantidad de días aumentada 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 Tiempo de vencimiento, ingresa un número entre 1 y 7 para la cantidad de días que se deben retener 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
: Es el ID de la tabla cuyos cambios deseas transmitir.INSTANCE_ID
: La instancia que contiene la tablaPROJECT_ID
: Es el proyecto que contiene la instancia.CHANGE_STREAM_RETENTION_PERIOD
: Es el tiempo 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.
- Consulta un instructivo sobre el procesamiento de un flujo de cambios.