Crear una tabla habilitada para el flujo de cambios y capturar los cambios
Consulta cómo configurar una tabla de Bigtable con un flujo de cambios habilitado, ejecutar una canalización de flujo de cambios, hacer cambios en tu tabla y, a continuación, ver los cambios transmitidos.
Antes de empezar
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator
(
roles/resourcemanager.projectCreator
), which contains theresourcemanager.projects.create
permission. Learn how to grant roles.
-
Verify that billing is enabled for your Google Cloud project.
-
Enable the Dataflow, Cloud Bigtable API, and Cloud Bigtable Admin API APIs.
Roles required to enable APIs
To enable APIs, you need the Service Usage Admin IAM role (
roles/serviceusage.serviceUsageAdmin
), which contains theserviceusage.services.enable
permission. Learn how to grant roles. -
In the Google Cloud console, activate Cloud Shell.
Crear una tabla con un flujo de cambios habilitado
En la Google Cloud consola, ve a la página Instancias de Bigtable.
Haga clic en el ID de la instancia que está usando en esta guía de inicio rápido.
Si no tienes ninguna instancia disponible, crea una con las configuraciones predeterminadas en una región cercana.
En el panel de navegación de la izquierda, haga clic en Tablas.
Haz clic en Crear tabla.
Asigna un nombre a la tabla
change-streams-quickstart
.Añade una familia de columnas llamada
cf
.Selecciona Habilitar flujo de cambios.
Haz clic en Crear.
Inicializar un flujo de procesamiento de datos para capturar el flujo de cambios
En Cloud Shell, ejecuta los siguientes comandos para descargar el código y ejecutarlo.
git clone https://github.com/GoogleCloudPlatform/java-docs-samples.git cd java-docs-samples/bigtable/beam/change-streams mvn compile exec:java -Dexec.mainClass=ChangeStreamsHelloWorld \ "-Dexec.args=--project=PROJECT_ID --bigtableProjectId=PROJECT_ID \ --bigtableInstanceId=BIGTABLE_INSTANCE_ID --bigtableTableId=change-streams-quickstart \ --runner=dataflow --region=BIGTABLE_REGION --experiments=use_runner_v2"
Haz los cambios siguientes:
- PROJECT_ID: el ID del proyecto que estás usando
- BIGTABLE_INSTANCE_ID: el ID de la instancia que contendrá la nueva tabla
- BIGTABLE_REGION: la región en la que se encuentra tu instancia de Bigtable, como
us-east5
En la Google Cloud consola, ve a la página Dataflow.
Haz clic en la tarea cuyo nombre empiece por changestreamquickstart.
En la parte inferior de la pantalla, haz clic en Mostrar para abrir el panel de registros.
Haz clic en Registros de trabajador para monitorizar la salida del flujo de cambios.
En Cloud Shell, escribe algunos datos en Bigtable para ver el proceso del flujo de cambios.
cbt -instance=BIGTABLE_INSTANCE_ID -project=PROJECT_ID \ import change-streams-quickstart quickstart-data.csv column-family=cf
En la Google Cloud consola, comprueba que Gravedad esté configurado en
Info
como mínimo.Los registros de salida del registro de trabajador contienen lo siguiente:
Change captured: user123#2023,USER,SetCell,cf,col1,abc Change captured: user546#2023,USER,SetCell,cf,col1,def Change captured: user789#2023,USER,SetCell,cf,col1,ghi
Limpieza
Para evitar que se apliquen cargos en tu cuenta de Google Cloud por los recursos utilizados en esta página, sigue estos pasos.
Inhabilitar el flujo de cambios en la tabla
gcloud bigtable instances tables update change-streams-quickstart --instance=BIGTABLE_INSTANCE_ID \ --clear-change-stream-retention-period
Elimina la tabla
change-streams-quickstart
:cbt -instance=BIGTABLE_INSTANCE_ID -project=PROJECT_ID deletetable change-streams-quickstart
Detén el flujo de procesamiento de cambios:
En la Google Cloud consola, ve a la página Trabajos de Dataflow.
Selecciona el trabajo de streaming en la lista de trabajos.
En la navegación, haz clic en Detener.
En el cuadro de diálogo Detener tarea, cancela tu flujo de procesamiento y, a continuación, haz clic en Detener tarea.
Opcional: Elimina la instancia si has creado una para esta guía de inicio rápido:
cbt deleteinstance BIGTABLE_INSTANCE_ID
Siguientes pasos