Tabelle für Änderungsstreams 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 anschließend die gestreamten Änderungen ansehen.

Hinweise

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

    Zur Projektauswahl

  2. Die Abrechnung für das Google Cloud-Projekt muss aktiviert sein.

  3. Dataflow, Cloud Bigtable API, and Cloud Bigtable Admin API APIs aktivieren.

    Aktivieren Sie die APIs

  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 Bigtable-Seite Instanzen auf.

    Zur Seite „VM-Instanzen“

  2. Klicken Sie auf die ID der Instanz, die Sie für diesen Schnellstart verwenden.

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

  3. Klicken Sie im linken Navigationsbereich auf Sicherungen.

  4. Klicken Sie auf Tabelle erstellen.

  5. Nennen Sie die Tabelle 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 initialisieren, um den Änderungsstream zu erfassen

  1. Führen Sie in 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 von Ihnen verwendeten Projekts
    • BIGTABLE_INSTANCE_ID: die ID der Instanz, die die neue Tabelle enthält
    • BIGTABLE_REGION: die Region, in der sich die 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 Namen mit changestreamtooltip beginnt.

  4. Klicken Sie unten auf dem Bildschirm auf Show (Anzeigen), um den Logbereich zu öffnen.

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

  6. Schreiben Sie in 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. Achten Sie darauf, dass in der Google Cloud Console der Schweregrad auf mindestens Info festgelegt ist.

  8. Die Ausgabelogs der Worker-Logs enthalten 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. Änderungsstream für die Tabelle deaktivieren

    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-Seite Jobs auf.

      Zu den Jobs

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

    3. Klicken Sie im Navigationsbereich auf Beenden.

    4. Brechen Sie die Pipeline im Dialogfeld Job anhalten ab und klicken Sie dann auf Job anhalten.

  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