Crea una tabella abilitata al flusso di modifiche e acquisisci le modifiche

Scopri come configurare una tabella Bigtable con un flusso di modifiche abilitato, eseguire una pipeline di flussi di modifiche, apportare modifiche alla tabella e visualizzare le modifiche trasmesse in streaming.

Prima di iniziare

  1. Nella console Google Cloud , nella pagina di selezione del progetto, seleziona o crea un progetto Google Cloud .

    Ruoli richiesti per selezionare o creare un progetto

    • Seleziona un progetto: la selezione di un progetto non richiede un ruolo IAM specifico. Puoi selezionare qualsiasi progetto per il quale ti è stato concesso un ruolo.
    • Crea un progetto: per creare un progetto, devi disporre del ruolo Autore progetto (roles/resourcemanager.projectCreator), che contiene l'autorizzazione resourcemanager.projects.create. Scopri come concedere i ruoli.

    Vai al selettore di progetti

  2. Verifica che la fatturazione sia abilitata per il tuo progetto Google Cloud .

  3. Abilita le API Dataflow, API Cloud Bigtable e API Cloud Bigtable Admin.

    Ruoli richiesti per abilitare le API

    Per abilitare le API, devi disporre del ruolo IAM Amministratore utilizzo dei servizi (roles/serviceusage.serviceUsageAdmin), che include l'autorizzazione serviceusage.services.enable. Scopri come concedere i ruoli.

    Abilita le API

  4. Nella console Google Cloud , attiva Cloud Shell.

    Attiva Cloud Shell

Crea una tabella con un flusso di modifiche abilitato

  1. Nella console Google Cloud , vai alla pagina Istanze di Bigtable.

    Vai a Istanze

  2. Fai clic sull'ID dell'istanza che utilizzi per questa guida rapida.

    Se non hai un'istanza disponibile, creane una con le configurazioni predefinite in una regione vicina.

  3. Nel riquadro di navigazione a sinistra, fai clic su Tabelle.

  4. Fai clic su Crea una tabella.

  5. Assegna un nome alla tabella change-streams-quickstart.

  6. Aggiungi una famiglia di colonne denominata cf.

  7. Seleziona Abilita flusso di modifiche.

  8. Fai clic su Crea.

Inizializza una pipeline di dati per acquisire lo stream delle modifiche

  1. In Cloud Shell, esegui questi comandi per scaricare il codice ed eseguirlo.

    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"
    

    Sostituisci quanto segue:

    • PROJECT_ID: l'ID del progetto che stai utilizzando
    • BIGTABLE_INSTANCE_ID: l'ID dell'istanza che conterrà la nuova tabella
    • BIGTABLE_REGION: la regione in cui si trova l'istanza Bigtable, ad esempio us-east5
  2. Nella console Google Cloud , vai alla pagina Dataflow.

    Vai a Dataflow

  3. Fai clic sul job il cui nome inizia con changestreamquickstart.

  4. Nella parte inferiore dello schermo, fai clic su Mostra per aprire il pannello dei log.

  5. Fai clic su Log dei worker per monitorare l'output dello stream di modifiche.

  6. In Cloud Shell, scrivi alcuni dati in Bigtable per visualizzare il processo di stream delle modifiche.

    cbt -instance=BIGTABLE_INSTANCE_ID -project=PROJECT_ID \
    import change-streams-quickstart quickstart-data.csv column-family=cf
    
  7. Nella console Google Cloud , assicurati che Gravità sia impostata almeno su Info.

  8. I log di output dei log del worker contengono questo:

    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
    

Esegui la pulizia

Per evitare che al tuo account Google Cloud vengano addebitati costi relativi alle risorse utilizzate in questa pagina, segui questi passaggi.

  1. Disattivare il flusso di modifiche nella tabella

    gcloud bigtable instances tables update change-streams-quickstart --instance=BIGTABLE_INSTANCE_ID \
    --clear-change-stream-retention-period
    
  2. Elimina la tabella change-streams-quickstart:

    cbt -instance=BIGTABLE_INSTANCE_ID -project=PROJECT_ID deletetable change-streams-quickstart
    
  3. Arresta la pipeline di modifiche in tempo reale:

    1. Nella console Google Cloud , vai alla pagina Job di Dataflow.

      Vai a Job

    2. Seleziona il tuo lavoro di streaming dall'elenco dei lavori.

    3. Nella navigazione, fai clic su Stop.

    4. Nella finestra di dialogo Arresta job, annulla la pipeline, quindi fai clic su Arresta job.

  4. (Facoltativo) Elimina l'istanza se ne hai creata una nuova per questa guida rapida:

    cbt deleteinstance BIGTABLE_INSTANCE_ID
    

Passaggi successivi