Configurer une base de données Spanner source

Cette page explique comment configurer la capture des données modifiées (CDC, change data capture) pour diffuser des données en flux continu depuis une base de données Spanner vers une destination compatible, comme BigQuery ou Cloud Storage.

Avant de commencer

Si votre instance Spanner existe dans un projet Google Cloud autre que celui où Datastream est exécuté, vous devez attribuer le rôle IAMspanner.databaseReaderà l'agent de service Datastream et, si vous prévoyez d'utiliser Data Boost, le rôlespanner.databaseReaderWithDataBoost.

Si vous préférez utiliser un rôle de base de données avec un contrôle précis des accès, consultez Créer un profil de connexion et un flux Spanner pour connaître les autorisations individuelles requises.

Créer une base de données Spanner

Pour commencer à répliquer les données de modification à partir de Spanner, vous devez d'abord créer une instance Spanner et une base de données Spanner.

Créer un flux de modifications

Spanner utilise des flux de modifications pour suivre et diffuser en streaming les modifications de données telles que les insertions, les mises à jour et les suppressions. Pour configurer votre source Spanner pour la réplication dans Datastream, vous devez créer et configurer un flux de modifications Spanner. Vous devez spécifier le type de capture de valeur NEW_ROW pour votre flux de modifications.

Pour en savoir plus, consultez Présentation des flux de modifications.

Créer un profil de connexion et un flux Spanner

Lorsque vous créez un profil de connexion Spanner, vous devez spécifier la base de données Spanner que vous avez créée. Le nom de la base de données doit respecter le format suivant :

projects/PROJECT_ID/instances/INSTANCE/databases/DATABASE_ID

Lorsque vous créez un flux, vous pouvez éventuellement fournir les informations suivantes :

  • Objets à inclure et à exclure.
  • Nombre maximal de lectures simultanées pour les requêtes de remplissage ou de flux de modifications.
  • Indique si Datastream doit utiliser Data Boost lors de l'interrogation de Spanner.
  • Rôle de base de données pour le contrôle précis des accès que Datastream doit utiliser lors de l'interrogation de Spanner. Le rôle de base de données doit disposer au minimum des autorisations suivantes :

    • spanner.sessions.create
    • spanner.sessions.delete
    • spanner.sessions.get
    • spanner.databases.read
    • spanner.databases.select
    • spanner.databases.partitionQuery
    • spanner.databases.partitionRead
    • spanner.databases.beginReadOnlyTransaction
    • spanner.databases.getDdl
    • spanner.databases.useDataBoost (si vous choisissez d'utiliser Spanner Data Boost)
    • spanner.databases.useRoleBasedAccess
  • Priorité des appels de procédure à distance (RPC) Spanner à utiliser pour Datastream.

Étapes suivantes