Créer une table avec un flux de modifications activé et capturer les modifications

Découvrez comment configurer une table Bigtable avec un flux de modifications activé, exécuter un pipeline de flux de modifications, apporter des modifications à votre table, puis voir les modifications diffusées.

Avant de commencer

  1. Dans la Google Cloud console, sur la page de sélection du projet, sélectionnez ou créez un Google Cloud projet.

    Rôles requis pour sélectionner ou créer un projet

    • Sélectionner un projet : la sélection d'un projet ne nécessite pas de rôle IAM spécifique Vous pouvez sélectionner n'importe quel projet pour lequel un rôle vous a été attribué.
    • Créer un projet : pour créer un projet, vous devez disposer du rôle Créateur de projet (roles/resourcemanager.projectCreator), qui contient l'autorisation resourcemanager.projects.create. Découvrez comment attribuer des rôles.

    Accéder au sélecteur de projet

  2. Vérifiez que la facturation est activée pour votre Google Cloud projet.

  3. Activez les API Dataflow, Cloud Bigtable et Cloud Bigtable Admin.

    Rôles requis pour activer les API

    Pour activer les API, vous devez disposer du rôle IAM Administrateur d'utilisation du service (roles/serviceusage.serviceUsageAdmin), qui contient l'autorisation serviceusage.services.enable. Découvrez comment attribuer des rôles.

    Activer les API

  4. Dans la Google Cloud console, activez Cloud Shell.

    Activer Cloud Shell

Créer une table avec un flux de modifications activé

  1. Dans la Google Cloud console, accédez à la page Instances de Bigtable.

    Accéder à la page "Instances"

  2. Cliquez sur l'ID de l'instance que vous utilisez pour ce guide de démarrage rapide.

    Si aucune instance n'est disponible, créez-en une avec les configurations par défaut dans une région proche de vous.

  3. Dans le volet de navigation de gauche, cliquez sur Tables.

  4. Cliquez sur Créer une table.

  5. Nommez la table change-streams-quickstart.

  6. Ajoutez une famille de colonnes nommée cf.

  7. Sélectionnez Activer le flux de modifications.

  8. Cliquez sur Créer.

Initialiser un pipeline de données pour capturer le flux de modifications

  1. Dans Cloud Shell, exécutez les commandes suivantes pour télécharger le code et l'exécuter.

    git clone https://github.com/GoogleCloudPlatform/java-docs-samples.git
    cd java-docs-samples/bigtable/beam/change-streams
    mvn compile exec:java -Dexec.mainClass=ChangeStreamsHelloWorld \
    "-Dexec.args=--project=PROJECT_ID --bigtableProjectId=PROJECT_ID \
    --bigtableInstanceId=BIGTABLE_INSTANCE_ID --bigtableTableId=change-streams-quickstart \
    --runner=dataflow --region=BIGTABLE_REGION --experiments=use_runner_v2"
    

    Remplacez les éléments suivants :

    • PROJECT_ID : ID du projet que vous utilisez
    • BIGTABLE_INSTANCE_ID : ID de l'instance contenant la nouvelle table
    • BIGTABLE_REGION : région dans laquelle se trouve votre instance Bigtable, par exemple us-east5
  2. Dans la Google Cloud console, accédez à la page Dataflow.

    Accéder à Dataflow

  3. Cliquez sur la tâche dont le nom commence par changestreamquickstart.

  4. En bas de l'écran, cliquez sur Afficher pour ouvrir le panneau des journaux.

  5. Cliquez sur Journaux de nœud de calcul pour surveiller la sortie du flux de modifications.

  6. Dans Cloud Shell, écrivez des données dans Bigtable pour voir le processus de flux de modifications.

    cbt -instance=BIGTABLE_INSTANCE_ID -project=PROJECT_ID \
    import change-streams-quickstart quickstart-data.csv column-family=cf
    
  7. Dans la Google Cloud console, assurez-vous que Gravité est défini sur au moins Info.

  8. La sortie du journal de nœud de calcul contient les éléments suivants :

    Change captured: user123#2023,USER,SetCell,cf,col1,abc
    Change captured: user546#2023,USER,SetCell,cf,col1,def
    Change captured: user789#2023,USER,SetCell,cf,col1,ghi
    

Effectuer un nettoyage

Pour éviter que les ressources utilisées dans cette démonstration soient facturées sur votre Google Cloud compte pour les ressources utilisées sur cette page, procédez comme suit :

  1. Désactivez le flux de modifications dans la table.

    gcloud bigtable instances tables update change-streams-quickstart --instance=BIGTABLE_INSTANCE_ID \
    --clear-change-stream-retention-period
    
  2. Supprimez la table change-streams-quickstart :

    cbt -instance=BIGTABLE_INSTANCE_ID -project=PROJECT_ID deletetable change-streams-quickstart
    
  3. Arrêtez le pipeline de flux de modifications :

    1. Dans la Google Cloud console, accédez à la page Tâches de Dataflow.

      Accéder à la page "Tâches"

    2. Sélectionnez votre tâche de traitement par flux dans la liste des tâches.

    3. Dans la barre de navigation, cliquez sur Arrêter.

    4. Dans la boîte de dialogue Arrêter la tâche, annulez votre pipeline, puis cliquez sur Arrêter la tâche.

  4. Facultatif : Supprimez l'instance si vous en avez créé une pour ce guide de démarrage rapide :

    cbt deleteinstance BIGTABLE_INSTANCE_ID
    

Étape suivante