Configurar um banco de dados de origem do Spanner

É 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.useRoleBasedAccess
    • spanner.databaseRoles.list
    • spanner.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:

  • Prioridade de chamada de procedimento remoto (RPC) do Spanner para o Datastream usar.

A seguir