Créer une table compatible avec les flux de modifications 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
-
Dans la console Google Cloud , sur la page de sélection du projet, sélectionnez ou créez un projet Google Cloud .
Rôles requis pour sélectionner ou créer un projet
- Sélectionnez 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'autorisationresourcemanager.projects.create. Découvrez comment attribuer des rôles.
-
Vérifiez que la facturation est activée pour votre projet Google Cloud .
Activez les API Dataflow, API Cloud Bigtable et API Cloud Bigtable Admin.
Rôles requis pour activer les API
Pour activer les API, vous devez disposer de l'autorisation
serviceusage.services.enable. Si vous avez créé le projet, vous disposez probablement déjà de cette autorisation grâce au rôle Propriétaire (roles/owner). Sinon, vous pouvez obtenir cette autorisation grâce au rôle Administrateur Service Usage (roles/serviceusage.serviceUsageAdmin). Découvrez comment attribuer des rôles.-
Dans la console Google Cloud , activez Cloud Shell.
Créer une table avec un flux de modifications activé
Dans la console Google Cloud , accédez à la page Instances Bigtable.
Cliquez sur l'ID de l'instance que vous utilisez pour ce guide de démarrage rapide.
Si vous n'avez pas d'instance disponible, créez-en une avec les configurations par défaut dans une région proche de vous.
Dans le volet de navigation de gauche, cliquez sur Tables.
Cliquez sur Créer une table.
Nommez la table
change-streams-quickstart.Ajoutez une famille de colonnes nommée
cf.Sélectionnez Activer le flux de modifications.
Cliquez sur Créer.
Initialiser un pipeline de données pour capturer le flux de modifications
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 qui contiendra la nouvelle table
- BIGTABLE_REGION : région dans laquelle se trouve votre instance Bigtable, par exemple
us-east5
Dans la console Google Cloud , accédez à la page Dataflow.
Cliquez sur le job dont le nom commence par changestreamquickstart.
En bas de l'écran, cliquez sur Afficher pour ouvrir le panneau des journaux.
Cliquez sur Journaux du worker pour surveiller la sortie du flux de modifications.
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=cfDans la console Google Cloud , assurez-vous que Gravité est défini sur au moins
Info.Les journaux de sortie des journaux de nœud de calcul contiennent les informations suivantes :
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 compte Google Cloud , procédez comme suit :
Désactiver le flux de modifications sur la table
gcloud bigtable instances tables update change-streams-quickstart --instance=BIGTABLE_INSTANCE_ID \ --clear-change-stream-retention-periodSupprimez la table
change-streams-quickstart:cbt -instance=BIGTABLE_INSTANCE_ID -project=PROJECT_ID deletetable change-streams-quickstartArrêtez le pipeline de flux de modifications :
Dans la console Google Cloud , accédez à la page Tâches Dataflow.
Sélectionnez votre tâche de traitement par flux dans la liste des tâches.
Dans la barre de navigation, cliquez sur Arrêter.
Dans la boîte de dialogue Arrêter la tâche, annulez votre pipeline, puis cliquez sur Arrêter la tâche.
Facultatif : Supprimez l'instance si vous en avez créé une pour ce guide de démarrage rapide :
cbt deleteinstance BIGTABLE_INSTANCE_ID