Hello World C++
Cet exemple présente une application très simple "Hello World", écrite en C++, et montre comment :
- Configurer l'authentification
- Connexion à une instance Bigtable
- créer une table ;
- Écrire des données dans une table
- Relire les données
- Supprimer la table
Configurer l'authentification
Pour utiliser les exemples C++ de cette page dans un environnement de développement local, installez et initialisez la gcloud CLI, puis configurez le service Identifiants par défaut de l'application avec vos identifiants utilisateur.
-
Installez la Google Cloud CLI.
-
Si vous utilisez un fournisseur d'identité (IdP) externe, vous devez d'abord vous connecter à la gcloud CLI avec votre identité fédérée.
-
Si vous utilisez un shell local, créez des identifiants d'authentification locaux pour votre compte utilisateur : Créer des identifiants d'authentification locaux pour votre compte utilisateur :
gcloud auth application-default login
Vous n'avez pas besoin de le faire si vous utilisez Cloud Shell.
Si une erreur d'authentification est renvoyée et que vous utilisez un fournisseur d'identité (IdP) externe, vérifiez que vous vous êtes connecté à la gcloud CLI avec votre identité fédérée.
Pour en savoir plus, consultez Configurer l'authentification pour un environnement de développement local.
Exécuter l'exemple
Cet exemple utilise le package Cloud Bigtable de la Google Cloud bibliothèque cliente pour C++ afin de communiquer avec Bigtable.
Pour exécuter cet exemple de programme, suivez les instructions disponibles sur GitHub.
Utiliser la Google Cloud bibliothèque cliente avec Bigtable
L'exemple d'application permet de se connecter à Bigtable et décrit quelques opérations simples.
Installer et importer la bibliothèque cliente
Téléchargez ou clonez la bibliothèque cliente Bigtable pour C++ à partir de GitHub, puis compilez-la. Suivez les instructions de compilation disponibles dans le fichier README figurant à la racine.
Incluez les en-têtes obligatoires.
Se connecter à Bigtable
Utilisez MakeBigtableTableAdminConnection() pour
construire un BigtableTableAdminClient, que
vous utiliserez pour créer une table.
Créer une table
Définissez un schéma pour la table possédant une famille de colonnes. Définissez une règle de récupération de mémoire pour la famille de colonnes afin de conserver au maximum une version de chaque valeur. Utilisez ce schéma pour instancier un objet de table à l'aide de BigtableTableAdminClient::CreateTable(). Créez ensuite un client de données que vous pourrez utiliser pour transférer des données vers et depuis votre table.
Écrire des lignes dans une table
Parcourez une liste de chaînes de salutations pour créer des lignes de table.
À chaque itération, utilisez SingleRowMutation pour définir une ligne et attribuez-lui une clé de ligne et une valeur. Appelez ensuite Table::Apply() pour appliquer la mutation à la ligne.
Créer un filtre
Avant de lire les données que vous avez écrites, créez un filtre à l'aide de Filter::ColumnRangeClosed() afin de limiter les données renvoyées par Bigtable. Ce filtre indique à Bigtable de ne renvoyer que la version la plus récente de chaque valeur, même si la table contient des cellules plus anciennes qui ont expiré, mais qui n'ont pas encore été supprimées par la récupération de mémoire.
Lire une ligne à l'aide de sa clé
Appelez la fonction Table::ReadRow() en lui transmettant la clé de ligne et le filtre,
afin d'obtenir une version pour chaque valeur de cette ligne.
Analyser toutes les lignes de la table
Utilisez Table::ReadRows() pour lire une plage de lignes
de la table.
Supprimer une table
Supprimez la table à l'aide de BigtableTableAdminClient::DeleteTable().
Synthèse
Voici l'exemple complet sans commentaires.