Créer une instance et écrire des données avec la CLI cbt
Si vous découvrez Bigtable, ce guide de démarrage rapide peut vous aider à vous familiariser avec les principes de base que vous utiliseriez à grande échelle dans un environnement de production.
Dans ce guide de démarrage rapide, vous effectuez les actions suivantes :
- Connexion à une instance Bigtable
- Tâches d'administration de base
- Écriture de données dans une table
- Lecture des données d'une table
Avant de commencer
- Connectez-vous à votre Google Cloud compte. Si vous débutez sur Google Cloud, créez un compte pour évaluer les performances de nos produits en conditions réelles. Les nouveaux clients bénéficient également de 300 $de crédits sans frais pour exécuter, tester et déployer des charges de travail.
-
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.
-
Pour initialiser la gcloud CLI, exécutez la commande suivante :
gcloud init -
Créez ou sélectionnez 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 avez besoin du rôle Créateur de projet
(
roles/resourcemanager.projectCreator), qui contient l'autorisationresourcemanager.projects.create. Découvrez comment attribuer des rôles.
-
Créez un Google Cloud projet :
gcloud projects create PROJECT_ID
Remplacez
PROJECT_IDpar le nom du Google Cloud projet que vous créez. -
Sélectionnez le Google Cloud projet que vous avez créé :
gcloud config set project PROJECT_ID
Remplacez
PROJECT_IDpar le nom de votre Google Cloud projet.
-
Vérifiez que la facturation est activée pour votre Google Cloud projet.
Activez les API Cloud Bigtable et Cloud Bigtable Admin :
Rôles requis pour activer les API
Pour activer les API, vous avez besoin du rôle IAM Administrateur d'utilisation du service (
roles/serviceusage.serviceUsageAdmin), qui contient l'serviceusage.services.enableautorisation. Découvrez comment attribuer des rôles.gcloud services enable bigtable.googleapis.com
bigtableadmin.googleapis.com -
Attribuez des rôles à votre compte utilisateur. Exécutez la commande suivante une fois pour chacun des rôles IAM suivants :
roles/bigtable.admingcloud projects add-iam-policy-binding PROJECT_ID --member="user:USER_IDENTIFIER" --role=ROLE
Remplacez les éléments suivants :
PROJECT_ID: ID de votre projetUSER_IDENTIFIER: identifiant de votre compte utilisateur Par exemple,myemail@example.com.ROLE: rôle IAM que vous attribuez à votre compte 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.
-
Pour initialiser la gcloud CLI, exécutez la commande suivante :
gcloud init -
Créez ou sélectionnez 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 avez besoin du rôle Créateur de projet
(
roles/resourcemanager.projectCreator), qui contient l'autorisationresourcemanager.projects.create. Découvrez comment attribuer des rôles.
-
Créez un Google Cloud projet :
gcloud projects create PROJECT_ID
Remplacez
PROJECT_IDpar le nom du Google Cloud projet que vous créez. -
Sélectionnez le Google Cloud projet que vous avez créé :
gcloud config set project PROJECT_ID
Remplacez
PROJECT_IDpar le nom de votre Google Cloud projet.
-
Vérifiez que la facturation est activée pour votre Google Cloud projet.
Activez les API Cloud Bigtable et Cloud Bigtable Admin :
Rôles requis pour activer les API
Pour activer les API, vous avez besoin du rôle IAM Administrateur d'utilisation du service (
roles/serviceusage.serviceUsageAdmin), qui contient l'serviceusage.services.enableautorisation. Découvrez comment attribuer des rôles.gcloud services enable bigtable.googleapis.com
bigtableadmin.googleapis.com -
Attribuez des rôles à votre compte utilisateur. Exécutez la commande suivante une fois pour chacun des rôles IAM suivants :
roles/bigtable.admingcloud projects add-iam-policy-binding PROJECT_ID --member="user:USER_IDENTIFIER" --role=ROLE
Remplacez les éléments suivants :
PROJECT_ID: ID de votre projetUSER_IDENTIFIER: identifiant de votre compte utilisateur Par exemple,myemail@example.com.ROLE: rôle IAM que vous attribuez à votre compte utilisateur
- Exécutez la commande suivante pour installer la
cbtCLI :gcloud components install cbt
Créer une instance Bigtable
Accédez à la page Créer une instance dans la Google Cloud console.
Dans le champ Nom de l'instance, saisissez
Quickstart instance.Dans le champ ID d'instance, saisissez
quickstart-instance.Cliquez sur Continuer.
Comme Type de stockage, sélectionnez SSD.
Cliquez sur Continuer.
Dans le champ ID de cluster, saisissez
quickstart-instance-c1.Dans le champ Région, sélectionnez une région à proximité de votre emplacement.
Dans le champ Zone, sélectionnez Toutes.
Dans le champ Mode de scaling des nœuds, sélectionnez Allocation manuelle.
Dans le champ Quantité, sélectionnez 1.
Cliquez sur Créer pour créer l'instance.
Se connecter à l'instance
Configurez la
cbtCLI pour utiliser votre projet et votre instance en créant un.cbtrcfichier, en remplaçantPROJECT_IDpar l'ID du projet dans lequel vous avez créé votre instance Bigtable :echo project = PROJECT_ID >> ~/.cbtrc && echo instance = quickstart-instance >> ~/.cbtrc
Vérifiez que vous avez correctement configuré le fichier
.cbtrc:cat ~/.cbtrc
Le terminal affiche le contenu du fichier
.cbtrc, qui doit ressembler à ce qui suit :project = PROJECT_ID instance = quickstart-instance
Vous pouvez maintenant utiliser la
cbtCLI avec votre instance.
Lire et écrire des données
Bigtable enregistre les données dans des tables contenant des lignes. Chaque ligne est identifiée par une clé de ligne.
Les données d'une ligne sont organisées en familles de colonnes, qui sont des groupes de colonnes. Un qualificatif de colonne identifie une seule colonne au sein d'une famille.
Il peut exister plusieurs cellules horodatées à l'intersection d'une ligne et d'une colonne.
Créez une table nommée
my-table.cbt createtable my-table
Répertoriez vos tables :
cbt ls
La commande affiche un résultat semblable à celui-ci :
my-tableAjoutez une famille de colonnes nommée
cf1:cbt createfamily my-table cf1
Répertoriez vos familles de colonnes :
cbt ls my-table
La commande affiche un résultat semblable à celui-ci :
Family Name GC Policy ----------- --------- cf1 <never>Écrivez les valeurs
test-value1ettest-value2dans la ligner1en utilisant la famille de colonnescf1et le qualificatif de colonnec1:cbt set my-table r1 cf1:c1=test-value1 cbt set my-table r1 cf1:c1=test-value2
Utilisez la commande
cbt readpour lire les données que vous avez ajoutées à la table :cbt read my-table
L'interface système affiche un résultat semblable à celui-ci :
---------------------------------------- r1 cf1:c1 @ 2023/03/22-06:56:11.323000 "test-value1" cf1:c1 @ 2023/03/22-06:56:04.361000 "test-value2"Deux valeurs horodatées sont stockées pour la même colonne dans la ligne
r1.
Effectuer un nettoyage
Pour éviter que les ressources
utilisées dans ce guide de démarrage rapide soient facturées sur votre Google Cloud compte, supprimez l'instance. Dès lors que vous supprimez le fichier .cbtrc, vous êtes prêt à travailler sur un autre projet.
Supprimez la table
my-table:cbt deletetable my-table
Supprimez l'instance :
cbt deleteinstance quickstart-instance
Supprimez le fichier
.cbtrc:rm ~/.cbtrc
Facultatif : Révoquez les identifiants de gcloud CLI :
gcloud auth revoke
Étapes suivantes
- Suivez un atelier de programmation Bigtable.
- Consultez la
cbtCLI documentation de référence. - Consultez l'exemple de code source pour un cas d'utilisation de détection de fraude.
- Écrivez une application Hello World en C#, C++, Go, Java, Node.js, PHP, Python, Ruby ou en utilisant le client HBase pour Java.