Auf dieser Seite wird beschrieben, wie Sie Change Data Capture (CDC) konfigurieren, um Daten aus einer Spanner-Datenbank in ein unterstütztes Ziel wie BigQuery oder Cloud Storage zu streamen.
Hinweise
Wenn sich Ihre Spanner-Instanz in einem Google Cloud anderen Projekt als dem befindet, in dem Datastream ausgeführt wird, müssen Sie dem Datastream-Dienst-Agent die IAM-Rolle spanner.databaseReader und, wenn Sie Data Boost verwenden möchten, die Rolle spanner.databaseReaderWithDataBoost zuweisen.
Wenn Sie lieber eine Datenbankrolle mit detaillierter Zugriffssteuerung verwenden möchten, finden Sie unter Spanner-Verbindungsprofil und -Stream erstellen die erforderlichen individuellen Berechtigungen.
Spanner-Datenbank erstellen
Wenn Sie mit der Replikation von Änderungsdaten aus Spanner beginnen möchten, müssen Sie zuerst eine Spanner-Instanz und eine Spanner-Datenbank erstellen.
Änderungsstream erstellen
Spanner verwendet Änderungsstreams, um Datenänderungen wie Einfügungen, Aktualisierungen und Löschungen zu verfolgen und zu streamen. Wenn Sie Ihre Spanner-Quelle für die Replikation in Datastream konfigurieren möchten, müssen Sie einen Spanner-Änderungsstream erstellen und konfigurieren. Sie müssen den NEW_ROW-Typ für die Erfassung von Werten für Ihren Änderungsstream angeben.
Weitere Informationen finden Sie unter Übersicht über Änderungsstreams.
Spanner-Verbindungsprofil und ‑Stream erstellen
Wenn Sie ein neues Spanner-Verbindungsprofil erstellen, müssen Sie die von Ihnen erstellte Spanner-Datenbank angeben. Der Datenbankname muss das folgende Format haben:
projects/PROJECT_ID/instances/INSTANCE/databases/DATABASE_ID
Wenn Sie einen Stream erstellen, können Sie optional Folgendes angeben:
- Die ein- und auszuschließenden Objekte.
- Die maximale Anzahl gleichzeitiger Lesevorgänge für Backfill- oder Änderungsstream-Abfragen.
- Gibt an, ob Datastream Data Boost verwenden soll, wenn Spanner abgefragt wird.
Eine Datenbankrolle für die detaillierte Zugriffssteuerung, die von Datastream beim Abfragen von Spanner verwendet werden soll. Die Datenbankrolle muss mindestens die folgenden Berechtigungen haben:
spanner.sessions.createspanner.sessions.deletespanner.sessions.getspanner.databases.readspanner.databases.selectspanner.databases.partitionQueryspanner.databases.partitionReadspanner.databases.beginReadOnlyTransactionspanner.databases.getDdlspanner.databases.useDataBoost(wenn Sie Spanner Data Boost verwenden möchten)spanner.databases.useRoleBasedAccess
Die Priorität des Spanner-Remoteprozeduraufrufs (RPC), die von Datastream verwendet werden soll.