É possível transmitir atualizações de captura de dados alterados (CDC) de um banco de dados do Spanner para destinos compatíveis, como o BigQuery ou o Cloud Storage, usando o Datastream. Para configurar sua origem, é necessário criar um fluxo de alterações do Spanner e conceder papéis do Identity and Access Management (IAM) ou privilégios de controle de acesso refinado.
Antes de começar
Se a instância do Spanner estiver em um projeto do Google Cloud diferente daquele em que o Datastream está em execução, será necessário fornecer ao agente de serviço do Datastream o papel do IAM spanner.databaseReader e, se você planeja usar o Data Boost, o papel spanner.databaseReaderWithDataBoost.
Se você preferir usar um papel de banco de dados de controle de acesso refinado, consulte Criar um perfil de conexão e um stream do Spanner para saber as permissões individuais necessárias.
Criar um banco de dados do Spanner
Para começar a replicar dados de alteração do Spanner, primeiro é necessário criar uma instância do Spanner e um banco de dados do Spanner.
Criar um fluxo 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 a origem do Spanner para
replicação no Datastream, é necessário criar e configurar um
fluxo de alterações do Spanner. É preciso especificar o tipo de captura de valor NEW_ROW para o fluxo de alterações.
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 novo perfil de conexão do Spanner, é necessário especificar 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 preenchimento ou fluxo de alterações.
Se o Datastream deve usar o Data Boost ao consultar o Spanner.
Um papel de banco de dados de controle de acesso refinado para o Datastream usar ao consultar o Spanner. Para usar esse papel, o Datastream precisa, no mínimo, das seguintes permissões do IAM:
spanner.databases.useRoleBasedAccessspanner.databaseRoles.listspanner.databases.useDataBoost(se você optar por usar o Data Boost do Spanner)
Além disso, o papel 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 alterações. Para mais informações, consulte Controle de acesso refinado para fluxos de alterações.
Prioridade de chamada de procedimento remoto (RPC) do Spanner para o Datastream usar.
A seguir
- Saiba mais sobre o Spanner como origem.