Tabelle mit aktiviertem Änderungsstream erstellen und Änderungen erfassen

Hier erfahren Sie, wie Sie eine Bigtable-Tabelle mit aktiviertem Änderungsstream einrichten, eine Änderungsstreampipeline ausführen, Änderungen an der Tabelle vornehmen und sich dann die gestreamten Änderungen ansehen.

Hinweis

  1. Wählen Sie in der Google Cloud Console auf der Seite für die Projektauswahl ein Projekt aus oder erstellen Sie eines Google Cloud .

    Erforderliche Rollen zum Auswählen oder Erstellen eines Projekts

    • Projekt auswählen: Für die Auswahl eines Projekts ist keine bestimmte IAM-Rolle erforderlich. Sie können ein beliebiges Projekt auswählen, für das Ihnen eine Rolle zugewiesen wurde.
    • Projekt erstellen: Zum Erstellen eines Projekts benötigen Sie die Rolle „Projektersteller“ (roles/resourcemanager.projectCreator), die die resourcemanager.projects.create Berechtigung enthält. Informationen zum Zuweisen von Rollen.

    Zur Projektauswahl

  2. Prüfen Sie, ob für Ihr Google Cloud Projekt die Abrechnung aktiviert ist.

  3. Aktivieren Sie die Dataflow API, die Cloud Bigtable API und die Cloud Bigtable Admin API.

    Erforderliche Rollen zum Aktivieren von APIs

    Zum Aktivieren von APIs benötigen Sie die Berechtigung serviceusage.services.enable. Wenn Sie das Projekt erstellt haben, haben Sie diese Berechtigung wahrscheinlich bereits über die Rolle „Inhaber“ (roles/owner). Andernfalls können Sie diese Berechtigung über die Rolle „Service Usage-Administrator“ (roles/serviceusage.serviceUsageAdmin) erhalten. Informationen zum Zuweisen von Rollen.

    APIs aktivieren

  4. Aktivieren Sie Cloud Shell in der Google Cloud Console.

    Cloud Shell aktivieren

Tabelle mit aktiviertem Änderungsstream erstellen

  1. Rufen Sie in der Google Cloud Console die Seite Instanzen von Bigtable auf.

    Zur Seite „VM-Instanzen“

  2. Klicken Sie auf die ID der Instanz, die Sie für diese Kurzanleitung verwenden.

    Wenn keine Instanz verfügbar ist, erstellen Sie eine Instanz mit den Standard konfigurationen in einer Region in Ihrer Nähe.

  3. Klicken Sie im linken Navigationsbereich auf Tabellen.

  4. Klicken Sie auf Tabelle erstellen.

  5. Geben Sie der Tabelle den Namen change-streams-quickstart.

  6. Fügen Sie eine Spaltenfamilie mit dem Namen cf hinzu.

  7. Wählen Sie Änderungsstream aktivieren aus.

  8. Klicken Sie auf Erstellen.

Datenpipeline zum Erfassen des Änderungsstreams initialisieren

  1. Führen Sie in der Cloud Shell die folgenden Befehle aus, um den Code herunterzuladen und auszuführen.

    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"
    

    Ersetzen Sie Folgendes:

    • PROJECT_ID: die ID des Projekts, das Sie verwenden
    • BIGTABLE_INSTANCE_ID: die ID der Instanz, die die neue Tabelle enthalten soll
    • BIGTABLE_REGION: die Region, in der sich Ihre Bigtable-Instanz befindet, z. B. us-east5
  2. Rufen Sie in der Google Cloud Console die Seite Dataflow auf.

    Zu Dataflow

  3. Klicken Sie auf den Job, dessen Name mit changestreamquickstart beginnt.

  4. Klicken Sie unten auf dem Bildschirm auf Anzeigen, um das Logfeld zu öffnen.

  5. Klicken Sie auf Worker-Logs , um die Ausgabe des Änderungsstreams zu beobachten.

  6. Schreiben Sie in der Cloud Shell einige Daten in Bigtable, um den Änderungsstreamprozess zu sehen.

    cbt -instance=BIGTABLE_INSTANCE_ID -project=PROJECT_ID \
    import change-streams-quickstart quickstart-data.csv column-family=cf
    
  7. Prüfen Sie in der Google Cloud Console, ob Schweregrad auf mindestens Info festgelegt ist.

  8. Die Worker-Logausgabe enthält Folgendes:

    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
    

Bereinigen

Mit den folgenden Schritten vermeiden Sie, dass Ihrem Google Cloud -Konto die auf dieser Seite verwendeten Ressourcen in Rechnung gestellt werden:

  1. Deaktivieren Sie den Änderungsstream in der Tabelle.

    gcloud bigtable instances tables update change-streams-quickstart --instance=BIGTABLE_INSTANCE_ID \
    --clear-change-stream-retention-period
    
  2. Löschen Sie die Tabelle change-streams-quickstart:

    cbt -instance=BIGTABLE_INSTANCE_ID -project=PROJECT_ID deletetable change-streams-quickstart
    
  3. Beenden Sie die Änderungsstreampipeline:

    1. Rufen Sie in der Google Cloud Console die Dataflow-Jobs-Seite auf.

      Zu Jobs

    2. Wählen Sie den Streaming-Job aus der Jobliste aus.

    3. Klicken Sie im Navigationsbereich auf Beenden.

    4. Klicken Sie im Dialogfeld Job beenden auf Job beenden , um die Pipeline zu beenden.

  4. Optional: Löschen Sie die Instanz, wenn Sie für diese Kurzanleitung eine neue erstellt haben:

    cbt deleteinstance BIGTABLE_INSTANCE_ID
    

Nächste Schritte