Configura una base de datos de Spanner de origen

Puedes transmitir actualizaciones de captura de datos modificados (CDC) desde una base de datos de Spanner a destinos compatibles, como BigQuery o Cloud Storage, con Datastream. Para configurar la fuente, debes crear un flujo de cambios de Spanner y otorgar roles de Identity and Access Management (IAM) o privilegios de control de acceso detallado.

Antes de comenzar

Si tu instancia de Spanner existe en un proyecto de Google Cloud distinto de aquel en el que se ejecuta Datastream, debes proporcionar al agente de servicio de Datastream el rol de IAM de spanner.databaseReader y, si planeas usar Data Boost, el rol de spanner.databaseReaderWithDataBoost.

Si prefieres usar un rol de base de datos de control de acceso detallado, consulta Crea un perfil de conexión y una transmisión de Spanner para conocer los permisos individuales necesarios.

Crear una base de datos de Spanner

Para comenzar a replicar datos de cambios desde Spanner, primero debes crear una instancia de Spanner y una base de datos de Spanner.

Crear flujo de cambios

Spanner usa flujos de cambios para hacer un seguimiento de los cambios de datos, como inserciones, actualizaciones y eliminaciones, y transmitirlos. Para configurar tu fuente de Spanner para la replicación en Datastream, debes crear y configurar un flujo de cambios de Spanner. Debes especificar el tipo de captura de valor NEW_ROW para tu flujo de cambios.

Para obtener más información, consulta Descripción general de los flujos de cambios.

Crea un perfil de conexión y una transmisión de Spanner

Cuando creas un perfil de conexión de Spanner nuevo, debes especificar la base de datos de Spanner que creaste. El nombre de la base de datos debe tener el siguiente formato:

projects/PROJECT_ID/instances/INSTANCE/databases/DATABASE_ID

Cuando creas una transmisión, puedes proporcionar lo siguiente de forma opcional:

  • Los objetos que se incluirán y excluirán
  • Es la cantidad máxima de lecturas simultáneas para las consultas de reabastecimiento o de flujo de cambios.

  • Indica si Datastream debe usar Data Boost cuando consulta Spanner.

  • Un rol de base de datos de control de acceso detallado para que Datastream lo use cuando consulte Spanner. Para usar este rol, Datastream necesita, como mínimo, los siguientes permisos de IAM:

    • spanner.databases.useRoleBasedAccess
    • spanner.databaseRoles.list
    • spanner.databases.useDataBoost (si eliges usar Spanner Data Boost)

    Además, el rol de base de datos de Spanner debe tener los siguientes permisos:

  • Es la prioridad de la llamada de procedimiento remoto (RPC) de Spanner que Datastream debe usar.

¿Qué sigue?