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.createspanner.sessions.deletespanner.sessions.getspanner.databases.readspanner.databases.selectspanner.databases.partitionQueryspanner.databases.partitionReadspanner.databases.beginReadOnlyTransactionspanner.databases.getDdlspanner.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
- Saiba mais sobre o Spanner como uma fonte.