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.useRoleBasedAccessspanner.databaseRoles.listspanner.databases.useDataBoost(si eliges usar Spanner Data Boost)
Además, el rol de base de datos de Spanner debe tener los siguientes permisos:
- Permisos
SELECTpara las tablas que se transmiten. - Permisos detallados para el flujo de cambios. Si deseas obtener más información, consulta Control de acceso detallado para los flujos de cambios.
Es la prioridad de la llamada de procedimiento remoto (RPC) de Spanner que Datastream debe usar.
¿Qué sigue?
- Obtén más información sobre Spanner como fuente.