Crie uma tabela com streams de alterações ativadas e capture alterações

Saiba como configurar uma tabela do Bigtable com um fluxo de alterações ativado, executar um pipeline de fluxo de alterações, fazer alterações à sua tabela e, em seguida, ver as alterações transmitidas.

Antes de começar

  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

    Crie uma tabela com uma stream de alterações ativada

    1. Na Google Cloud consola, aceda à página Instances do Bigtable.

      Aceda a Instâncias

    2. Clique no ID da instância que está a usar para este início rápido.

      Se não tiver uma instância disponível, crie uma instância com as configurações predefinidas numa região perto de si.

    3. No painel de navegação do lado esquerdo, clique em Tabelas.

    4. Clique em Criar tabela.

    5. Atribua um nome à tabela change-streams-quickstart.

    6. Adicione uma família de colunas com o nome cf.

    7. Selecione Ativar stream de alterações.

    8. Clique em Criar.

    Inicialize um pipeline de dados para capturar a stream de alterações

    1. No Cloud Shell, execute os seguintes comandos para transferir o código e executá-lo.

      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"
      

      Substitua o seguinte:

      • PROJECT_ID: o ID do projeto que está a usar
      • BIGTABLE_INSTANCE_ID: o ID da instância que vai conter a nova tabela
      • BIGTABLE_REGION: a região em que a sua instância do Bigtable se encontra, como us-east5
    2. Na Google Cloud consola, aceda à página Fluxo de dados.

      Aceda ao Dataflow

    3. Clique na tarefa com um nome que comece por changestreamquickstart.

    4. Na parte inferior do ecrã, clique em Mostrar para abrir o painel de registos.

    5. Clique em Registos do trabalhador para monitorizar o resultado da stream de alterações.

    6. No Cloud Shell, escreva alguns dados no Bigtable para ver o processo da stream de alterações.

      cbt -instance=BIGTABLE_INSTANCE_ID -project=PROJECT_ID \
      import change-streams-quickstart quickstart-data.csv column-family=cf
      
    7. Na Google Cloud consola, certifique-se de que a Gravidade está definida, pelo menos, como Info.

    8. Os registos de saída do registo do trabalhador contêm o seguinte:

      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
      

    Limpar

    Para evitar incorrer em cobranças na sua Google Cloud conta pelos recursos usados nesta página, siga estes passos.

    1. Desative a stream de alterações na tabela

      gcloud bigtable instances tables update change-streams-quickstart --instance=BIGTABLE_INSTANCE_ID \
      --clear-change-stream-retention-period
      
    2. Elimine a tabela change-streams-quickstart:

      cbt -instance=BIGTABLE_INSTANCE_ID -project=PROJECT_ID deletetable change-streams-quickstart
      
    3. Parar a pipeline de streams de alterações:

      1. Na Google Cloud consola, aceda à página Tarefas do Dataflow.

        Aceder a Empregos

      2. Selecione a tarefa de streaming na lista de tarefas.

      3. Na navegação, clique em Parar.

      4. Na caixa de diálogo Parar tarefa, cancele o pipeline e, de seguida, clique em Parar tarefa.

    4. Opcional: elimine a instância se tiver criado uma nova para este início rápido:

      cbt deleteinstance BIGTABLE_INSTANCE_ID
      

    O que se segue?