Exécuter des exemples C++ dans Cloud Shell
Découvrez comment compiler et exécuter les exemples de clients C++ dans Cloud Shell à l'aide de micromamba et de Conda.
Avant de commencer
-
Installez la Google Cloud CLI.
-
Configurez la gcloud CLI afin d'utiliser votre identité fédérée.
Pour en savoir plus, consultez Se 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 projet Cloud de Confiance .
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.
-
Créez un projet Cloud de Confiance :
gcloud projects create PROJECT_ID
Remplacez
PROJECT_IDpar le nom du projet Cloud de Confiance que vous créez. -
Sélectionnez le projet Cloud de Confiance que vous avez créé :
gcloud config set project PROJECT_ID
Remplacez
PROJECT_IDpar le nom de votre projet Cloud de Confiance .
-
Vérifiez que la facturation est activée pour votre projet Cloud de Confiance .
Activez l'API Cloud Storage si ce n'est pas déjà fait :
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.gcloud services enable storage.googleapis.com
-
Créez un bucket Cloud Storage pour exécuter les exemples :
-
Assurez-vous de disposer du rôle Administrateur de l'espace de stockage (
roles/storage.admin) sur le projet. Découvrez comment attribuer des rôles. -
Créez un bucket Cloud Storage :
Remplacezgcloud storage buckets create gs://BUCKET_NAME
BUCKET_NAMEpar un nom qui répond aux conditions requises pour le nom des buckets.
-
Assurez-vous de disposer du rôle Administrateur de l'espace de stockage (
- Assurez-vous que les outils suivants sont installés :
Installer les bibliothèques clientes C++ précompilées dans Cloud Shell
Dans Cloud Shell, installez
micromamba:curl -fsSL https://micro.mamba.pm/api/micromamba/linux-64/latest | sudo tar -C /usr -xj bin/micromambaAjoutez des hooks
micromambaau shell actuel :eval "$(/usr/bin/micromamba shell hook -s posix)"Utilisez
micromambapour créer un environnement Conda avec les outils et bibliothèques de développement nécessaires :micromamba create -y -n base -c conda-forge cmake ninja cxx-compiler google-cloud-cpp libgoogle-cloudActivez le nouvel environnement conda :
micromamba activate
Extraire et compiler l'exemple "Storage Quickstart"
Consultez le code source de la bibliothèque cliente C++, y compris les exemples de démarrage rapide pour tous les services :
git clone --depth 1 https://github.com/googleapis/google-cloud-cppConfigurez CMake pour compiler l'exemple "Storage Quickstart" :
cmake -S google-cloud-cpp/google/cloud/storage/quickstart -B .buildCompilez l'exemple :
cmake --build .buildExécutez l'exemple :
.build/quickstart BUCKET_NAMEAprès avoir exécuté cet exemple, un message semblable à
Successfully created object ...s'affiche, suivi de données spécifiques à votre objet et se terminant par une ligne indiquantHello World!.
Effectuer un nettoyage
Pour éviter que les ressources utilisées dans cette démonstration soient facturées sur votre compte Cloud de Confiance , supprimez le projet Cloud de Confiance qui les contient.
Supprimez l'objet créé par l'exemple :
gcloud storage rm gs://BUCKET_NAME/quickstart.txtSupprimez le bucket :
gcloud storage buckets delete gs://BUCKET_NAME
Étapes suivantes
- Découvrez d'autres exemples de code C++.
- Déployez une application C++ sur Cloud Run et Google Kubernetes Engine.