Crea una tabla habilitada para el flujo de cambios 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, realizar cambios en tu tabla y, luego, ver los cambios transmitidos.

Antes de comenzar

  1. En la Google Cloud consola de, en la página del selector de proyectos, selecciona o crea un Google Cloud proyecto de.

    Roles necesarios para seleccionar o crear un proyecto

    • Seleccionar un proyecto: Para seleccionar un proyecto, no se requiere un rol de IAM específico. Puedes seleccionar cualquier proyecto en el que se te haya otorgado un rol.
    • Crear un proyecto: Para crear un proyecto, necesitas el rol de creador de proyectos (roles/resourcemanager.projectCreator), que contiene el resourcemanager.projects.create permiso. Obtén información para otorgar roles.

    Ir al selector de proyectos

  2. Verifica que la facturación esté habilitada para tu Google Cloud proyecto.

  3. Habilita las APIs de Dataflow, API de Cloud Bigtable y API de Cloud Bigtable Admin.

    Roles necesarios para habilitar las APIs

    Para habilitar las APIs, necesitas el permiso serviceusage.services.enable. Si creaste el proyecto, es probable que ya tengas este permiso a través del rol de propietario (roles/owner). De lo contrario, puedes obtener este permiso a través del rol de administrador de Service Usage (roles/serviceusage.serviceUsageAdmin). Obtén información para otorgar roles.

    Habilitar las API

  4. En la Google Cloud consola de, activa Cloud Shell.

    Activa Cloud Shell

Crea una tabla con un flujo de cambios habilitado

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

    Ir a Instancias

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

    Si no tienes una instancia disponible, crea una con las configuraciones predeterminadas en una región cercana.

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

  4. Haz clic en Crea una tabla.

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

  6. Agrega una familia de columnas con el nombre cf.

  7. Selecciona Habilitar el 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 usas.
    • 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 Google Cloud consola de, ve a la página Dataflow.

    Ir a Dataflow

  3. Haz clic en el trabajo con 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 Google Cloud consola, asegúrate de que Gravedad esté configurado en, al menos, Info.

  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
    

Limpia

Sigue estos pasos para evitar que se apliquen cargos a tu Google Cloud cuenta de 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 Google Cloud consola de, 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 cuadro de 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?