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, você precisará conceder ao agente de serviço do Datastream o papelspanner.databaseReaderdo IAM e, se 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 granular para o Datastream usar ao consultar o Spanner. Para usar essa função, o Datastream precisa das seguintes permissões do IAM, no mínimo:
spanner.databases.useRoleBasedAccessspanner.databaseRoles.listspanner.databases.useDataBoost(se você escolher usar o Data Boost do Spanner)
Além disso, a função do banco de dados do Spanner precisa ter as seguintes permissões:
- Permissões
SELECTpara as tabelas que estão sendo transmitidas. - Permissões refinadas para o fluxo de mudanças. Para mais informações, consulte Controle de acesso minucioso para streams de alteração.
Prioridade de chamada de procedimento remoto (RPC) do Spanner para uso do Datastream.
A seguir
- Saiba mais sobre o Spanner como uma fonte.