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

  1. 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 the resourcemanager.projects.create permission. Learn how to grant roles.

    Go to project selector

  2. Verify that billing is enabled for your Google Cloud project.

  3. 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 the serviceusage.services.enable permission. Learn how to grant roles.

    Enable the APIs

  4. In the Google Cloud console, activate Cloud Shell.

    Activate Cloud Shell

    Crear una tabla con un flujo de cambios habilitado

    1. En la Google Cloud consola, ve a la página Instancias de Bigtable.

      Ir a Instancias

    2. 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.

    3. En el panel de navegación de la izquierda, haga clic en Tablas.

    4. Haz clic en Crear tabla.

    5. Asigna un nombre a la tabla change-streams-quickstart.

    6. Añade una familia de columnas llamada cf.

    7. Selecciona Habilitar flujo de cambios.

    8. Haz clic en Crear.

    Inicializar un flujo de procesamiento de datos para capturar el flujo de cambios

    1. 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
    2. En la Google Cloud consola, ve a la página Dataflow.

      Ir a Dataflow

    3. Haz clic en la tarea cuyo nombre empiece por changestreamquickstart.

    4. En la parte inferior de la pantalla, haz clic en Mostrar para abrir el panel de registros.

    5. Haz clic en Registros de trabajador para monitorizar la salida del flujo de cambios.

    6. 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
      
    7. En la Google Cloud consola, comprueba que Gravedad esté configurado en Info como mínimo.

    8. 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.

    1. 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
      
    2. Elimina la tabla change-streams-quickstart:

      cbt -instance=BIGTABLE_INSTANCE_ID -project=PROJECT_ID deletetable change-streams-quickstart
      
    3. Detén el flujo de procesamiento de cambios:

      1. En la Google Cloud consola, ve a la página Trabajos de Dataflow.

        Ir a Tareas

      2. Selecciona el trabajo de streaming en la lista de trabajos.

      3. En la navegación, haz clic en Detener.

      4. En el cuadro de diálogo Detener tarea, cancela tu flujo de procesamiento y, a continuación, haz clic en Detener tarea.

    4. Opcional: Elimina la instancia si has creado una para esta guía de inicio rápido:

      cbt deleteinstance BIGTABLE_INSTANCE_ID
      

    Siguientes pasos