Configura un database Spanner di origine

Questa pagina descrive come configurare l'acquisizione delle modifiche ai dati (CDC) per trasmettere in streaming i dati da un database Spanner a una destinazione supportata, ad esempio BigQuery o Cloud Storage.

Prima di iniziare

Se la tua istanza Spanner esiste in un progetto diverso da quello in cui è in esecuzione Datastream, devi fornire all'agente di servizio Datastream il ruolo IAM spanner.databaseReader e, se prevedi di utilizzare Data Boost, il ruolo spanner.databaseReaderWithDataBoost. Google Cloud

Se preferisci utilizzare un ruolo di database con controllo dell'accesso granulare, consulta Creare un profilo di connessione e un flusso Spanner per le singole autorizzazioni richieste.

Creazione di un database Spanner

Per iniziare a replicare i dati di modifica da Spanner, devi prima creare un'istanza Spanner e un database Spanner.

Crea un flusso di modifiche

Spanner utilizza modifiche in tempo reale per monitorare e trasmettere in streaming le modifiche ai dati, ad esempio inserimenti, aggiornamenti ed eliminazioni. Per configurare l'origine Spanner per la replica in Datastream, devi creare e configurare un flusso di modifiche di Spanner. Devi specificare il NEW_ROW tipo di acquisizione del valore per il flusso di modifiche.

Per saperne di più, consulta la Panoramica degli stream di modifiche.

Crea un profilo di connessione e uno stream Spanner

Quando crei un nuovo profilo di connessione Spanner, devi specificare il database Spanner che hai creato. Il nome del database deve avere il seguente formato:

projects/PROJECT_ID/instances/INSTANCE/databases/DATABASE_ID

Quando crei uno stream, puoi fornire facoltativamente:

  • Gli oggetti da includere ed escludere.
  • Il numero massimo di letture simultanee per le query di backfill o di stream di modifiche.
  • Indica se Datastream deve utilizzare Data Boost quando esegue query su Spanner.
  • Un ruolo di database con controllo dell'accesso granulare da utilizzare per Datastream quando esegue query su Spanner. Il ruolo del database deve disporre almeno delle seguenti autorizzazioni:

    • spanner.sessions.create
    • spanner.sessions.delete
    • spanner.sessions.get
    • spanner.databases.read
    • spanner.databases.select
    • spanner.databases.partitionQuery
    • spanner.databases.partitionRead
    • spanner.databases.beginReadOnlyTransaction
    • spanner.databases.getDdl
    • spanner.databases.useDataBoost (se scegli di utilizzare Spanner Data Boost)
    • spanner.databases.useRoleBasedAccess
  • Priorità della chiamata di procedura remota (RPC) di Spanner da utilizzare per Datastream.

Passaggi successivi