Crea una tabla con flujos de cambios habilitados y captura los cambios

Aprende a 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, luego, ver los cambios transmitidos.

Antes de comenzar

  1. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Go to project selector

  2. Make sure that billing is enabled for your Google Cloud project.

  3. Enable the Dataflow, Cloud Bigtable API, and Cloud Bigtable Admin API APIs.

    Enable the APIs

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

    Activate Cloud Shell

Crea una tabla con una transmisión de cambios habilitada

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

    Ir a Instancias

  2. Haz clic en el ID de la instancia que estás usando para esta guía de inicio rápido.

    Si no tienes una instancia disponible, crea una con la configuración parámetros de configuración de una región cercana a ti.

  3. En el panel de navegación izquierdo, haz clic en Tablas.

  4. Haz clic en Crea una tabla.

  5. Asígnale el nombre change-streams-quickstart a la tabla.

  6. Agrega una familia de columnas llamada cf.

  7. Selecciona Habilitar flujo de cambios.

  8. Haz clic en Crear.

Inicializa una canalización 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"
    

    Reemplaza lo siguiente:

    • PROJECT_ID: Es el ID del proyecto que estás usando.
    • BIGTABLE_INSTANCE_ID: Es el ID de la instancia que contendrá la tabla nueva.
    • BIGTABLE_REGION: Es la región en la que se encuentra tu instancia de Bigtable, como us-east5.
  2. En la consola de Google Cloud, ve a la página Dataflow.

    Ir a Dataflow

  3. Haz clic en el trabajo que tiene un nombre que comience con 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 supervisar el resultado 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 consola de Google Cloud, asegúrate de que la Gravedad esté configurada en Info como mínimo.

  8. Los registros de resultados de registro del 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
    

Limpia

Sigue estos pasos para evitar que se apliquen cargos a tu cuenta de Google Cloud por los recursos que usaste en esta página.

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

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

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

      Ir a Trabajos

    2. Selecciona tu trabajo de transmisión en la lista de trabajos.

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

    4. En el diálogo Detener trabajo, cancela tu canalización y, luego, haz clic en Detener trabajo.

  4. Opcional: Borra la instancia si creaste una nueva para esta guía de inicio rápido:

    cbt deleteinstance BIGTABLE_INSTANCE_ID
    

¿Qué sigue?