Criar uma tabela de alterações ativada por stream e capturar 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 na tabela e ver as alterações transmitidas.

Antes de começar

  1. No Google Cloud console do, na página do seletor de projetos, escolha ou crie um Google Cloud projeto do.

    Funções necessárias para selecionar ou criar um projeto

    • Selecionar um projeto: a seleção de um projeto não exige um papel específico do IAM. Você pode selecionar qualquer projeto em que tenha recebido um papel.
    • Criar um projeto: para criar um projeto, você precisa do papel de criador de projetos (roles/resourcemanager.projectCreator), que contém a resourcemanager.projects.create permissão. Saiba como conceder papéis.

    Acessar o seletor de projetos

  2. Verifique se o faturamento está ativado para o Google Cloud projeto.

  3. Ative as APIs Dataflow, API Cloud Bigtable e API Cloud Bigtable Admin.

    Funções necessárias para ativar APIs

    Para ativar as APIs, é necessário ter o papel do IAM de administrador de uso do serviço (roles/serviceusage.serviceUsageAdmin), que contém a permissão serviceusage.services.enable. Saiba como conceder papéis.

    Ativar as APIs

  4. No Google Cloud console do, ative o Cloud Shell.

    Ativar o Cloud Shell

Criar uma tabela com um fluxo de alterações ativado

  1. No Google Cloud console do, acesse a página Instâncias do Bigtable.

    Acesse "Instâncias"

  2. Clique no código da instância que você está usando para este guia de início rápido.

    Se você não tiver uma instância disponível, crie uma com as configurações padrão em uma região perto de você.

  3. No painel de navegação à esquerda, clique em Tabelas.

  4. Clique em Criar uma tabela.

  5. Nomeie a tabela como change-streams-quickstart.

  6. Adicione um grupo de colunas chamado cf.

  7. Selecione Ativar fluxo de alterações.

  8. Clique em Criar.

Inicializar um pipeline de dados para capturar o fluxo de alterações

  1. No Cloud Shell, execute os seguintes comandos para fazer o download do 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:

    • PROJECT_ID: o ID do projeto que você está usando.
    • BIGTABLE_INSTANCE_ID: o ID da instância para conter a nova tabela.
    • BIGTABLE_REGION: a região em que a instância do Bigtable está, como us-east5.
  2. No Google Cloud console do, acesse a página Dataflow.

    Acessar o Dataflow

  3. Clique no job com um nome que começa com changestreamquickstart.

  4. Na parte inferior da tela, clique em Mostrar para abrir o painel de registros.

  5. Clique em Registros do worker para monitorar a saída do fluxo de alterações.

  6. No Cloud Shell, grave alguns dados no Bigtable para ver o processo de stream de alteração.

    cbt -instance=BIGTABLE_INSTANCE_ID -project=PROJECT_ID \
    import change-streams-quickstart quickstart-data.csv column-family=cf
    
  7. No Google Cloud console do, verifique se a Gravidade está definida como pelo menos Info.

  8. Os registros de saída do registro do worker 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
    

Liberar espaço

Para evitar cobranças na conta do Google Cloud pelos recursos usados nesta página, siga as etapas abaixo.

  1. Desativar o fluxo de alterações na tabela

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

    cbt -instance=BIGTABLE_INSTANCE_ID -project=PROJECT_ID deletetable change-streams-quickstart
    
  3. Pare o pipeline de stream de alteração:

    1. No Google Cloud console do, acesse a página Jobs do Dataflow.

      Acessar jobs

    2. Selecione o job de streaming na lista de jobs.

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

    4. Na caixa de diálogo Interromper job, cancele o pipeline e clique em Interromper job.

  4. Opcional: exclua a instância se você criou uma nova para este guia de início rápido:

    cbt deleteinstance BIGTABLE_INSTANCE_ID
    

A seguir