Tabelle mit Änderungsstream erstellen und Änderungen erfassen
Hier erfahren Sie, wie Sie eine Bigtable-Tabelle mit aktiviertem Änderungsstream einrichten, eine Änderungsstreampipeline ausführen, Änderungen an Ihrer Tabelle vornehmen und sich die gestreamten Änderungen ansehen.
Hinweis
-
Wählen Sie in der Google Cloud Console auf der Seite für die Projektauswahl ein Google Cloud -Projekt aus oder erstellen Sie eines.
Rollen, die zum Auswählen oder Erstellen eines Projekts erforderlich sind
- Projekt auswählen: Für die Auswahl eines Projekts ist keine bestimmte IAM-Rolle erforderlich. Sie können jedes 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 Berechtigungresourcemanager.projects.createenthält. Weitere Informationen zum Zuweisen von Rollen
-
Prüfen Sie, ob für Ihr Google Cloud Projekt die Abrechnung aktiviert ist.
Aktivieren Sie die Dataflow API, die Cloud Bigtable API und die Cloud Bigtable Admin API.
Rollen, die zum Aktivieren von APIs erforderlich sind
Zum Aktivieren von APIs benötigen Sie die IAM-Rolle „Service Usage-Administrator“ (
roles/serviceusage.serviceUsageAdmin), die die Berechtigungserviceusage.services.enableenthält. Weitere Informationen zum Zuweisen von Rollen-
Aktivieren Sie Cloud Shell in der Google Cloud Console.
Tabelle mit aktiviertem Änderungsstream erstellen
Rufen Sie in der Google Cloud Console die Seite Bigtable-Instanzen auf.
Klicken Sie auf die ID der Instanz, die Sie für diese Kurzanleitung verwenden.
Wenn Sie keine Instanz haben, erstellen Sie eine Instanz mit den Standardkonfigurationen in einer Region in Ihrer Nähe.
Klicken Sie im linken Navigationsbereich auf Sicherungen.
Klicken Sie auf Tabelle erstellen.
Geben Sie der Tabelle den Namen
change-streams-quickstart.Fügen Sie eine Spaltenfamilie mit dem Namen
cfhinzu.Wählen Sie Änderungsstream aktivieren aus.
Klicken Sie auf Erstellen.
Datenpipeline initialisieren, um den Änderungsstream zu erfassen
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 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.
Rufen Sie in der Google Cloud Console die Seite Dataflow auf.
Klicken Sie auf den Job, dessen Name mit changestreamquickstart beginnt.
Klicken Sie unten auf dem Bildschirm auf Anzeigen, um das Logfeld zu öffnen.
Klicken Sie auf Worker-Logs, um die Ausgabe des Änderungsstreams zu beobachten.
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=cfPrüfen Sie in der Google Cloud Console, ob Schweregrad auf mindestens
Infofestgelegt ist.Die Worker-Log-Ausgabe 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:
Änderungsstream für die Tabelle deaktivieren
gcloud bigtable instances tables update change-streams-quickstart --instance=BIGTABLE_INSTANCE_ID \ --clear-change-stream-retention-periodLöschen Sie die Tabelle
change-streams-quickstart:cbt -instance=BIGTABLE_INSTANCE_ID -project=PROJECT_ID deletetable change-streams-quickstartBeenden Sie die Änderungsstream-Pipeline:
Rufen Sie in der Google Cloud Console die Dataflow-Seite Jobs auf.
Wählen Sie den Streaming-Job aus der Jobliste aus.
Klicken Sie im Navigationsbereich auf Beenden.
Brechen Sie im Dialogfeld Job beenden Ihre Pipeline ab und klicken Sie dann auf Job beenden.
Optional: Löschen Sie die Instanz, wenn Sie für diese Kurzanleitung eine neue erstellt haben:
cbt deleteinstance BIGTABLE_INSTANCE_ID