Configurar um banco de dados de origem do Spanner

Nesta página, descrevemos como configurar a captura de dados alterados (CDC) para transmitir dados de um banco de dados do Spanner para um destino compatível, como BigQuery ou Cloud Storage.

Antes de começar

Se a instância do Spanner estiver em um projeto Google Cloud diferente daquele em que o Datastream está sendo executado, forneça ao agente de serviço do Datastream o papelspanner.databaseReaderdo IAM e, se você planeja usar o Data Boost, o papelspanner.databaseReaderWithDataBoost.

Se preferir usar um papel de banco de dados de controle de acesso minucioso, consulte Criar um perfil de conexão e um stream do Spanner para ver as permissões individuais necessárias.

Criar um banco de dados do Spanner

Para começar a replicar dados de mudanças do Spanner, primeiro crie uma instância do Spanner e um banco de dados do Spanner.

Criar um stream de alterações

O Spanner usa fluxo de alterações para rastrear e transmitir mudanças de dados, como inserções, atualizações e exclusões. Para configurar sua origem do Spanner para replicação no Datastream, crie e configure um fluxo de mudanças do Spanner. É necessário especificar o tipo de captura de valor NEW_ROW para seu stream de mudanças.

Para mais informações, consulte Visão geral dos fluxos de alterações.

Criar um perfil de conexão e um stream do Spanner

Ao criar um perfil de conexão do Spanner, especifique o banco de dados do Spanner que você criou. O nome do banco de dados precisa ter o seguinte formato:

projects/PROJECT_ID/instances/INSTANCE/databases/DATABASE_ID

Ao criar um stream, você pode fornecer:

  • Os objetos a serem incluídos e excluídos.
  • O número máximo de leituras simultâneas para consultas de backfill ou fluxo de alterações.
  • Se o Datastream vai usar o Data Boost ao consultar o Spanner.
  • Um papel de banco de dados de controle de acesso minucioso para o Datastream usar ao consultar o Spanner. A função de banco de dados precisa ter pelo menos as seguintes permissões:

    • 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 você escolher usar o Data Boost do Spanner)
    • spanner.databases.useRoleBasedAccess
  • Prioridade de chamada de procedimento remoto (RPC) do Spanner para uso do Datastream.

A seguir