Google Cloud Platform C ++ Bibliothèques clients
Ce référentiel contient des bibliothèques client C ++ idiomatiques pour les services de plate-forme Google Cloud suivants.
Veuillez vérifier le Changelog pour des annonces importantes et des modifications à venir.
Start
Chaque bibliothèque (voir ci-dessous) contient un répertoire nommé quickstart/
qui est destiné à vous aider à être opérationnel en quelques minutes. Ce quickstart/
Directory contient un programme "Hello World" minimal démontrant comment utiliser la bibliothèque, ainsi que des fichiers de construction minimaux pour les systèmes de construction communs, tels que CMake et Bazel.
À titre d'exemple, l'extrait de code suivant, tiré de Google Cloud Storage, devrait vous donner une idée de ce que c'est que d'utiliser l'une de ces bibliothèques C ++.
# include " google/cloud/storage/client.h "
# include < iostream >
# include < string >
int main ( int argc, char * argv[]) {
if (argc != 2 ) {
std::cerr << " Missing bucket name. n " ;
std::cerr << " Usage: quickstart <bucket-name> n " ;
return 1 ;
}
std::string const bucket_name = argv[ 1 ];
// Create a client to communicate with Google Cloud Storage. This client
// uses the default configuration for authentication and project id.
auto client = google::cloud::storage::Client ();
auto writer = client. WriteObject (bucket_name, " quickstart.txt " );
writer << " Hello World! " ;
writer. Close ();
if (!writer. metadata ()) {
std::cerr << " Error creating object: " << writer. metadata (). status ()
<< " n " ;
return 1 ;
}
std::cout << " Successfully created object: " << *writer. metadata () << " n " ;
auto reader = client. ReadObject (bucket_name, " quickstart.txt " );
if (!reader) {
std::cerr << " Error reading object: " << reader. status () << " n " ;
return 1 ;
}
std::string contents{std::istreambuf_iterator< char >{reader}, {}};
std::cout << contents << " n " ;
return 0 ;
}
Bibliothèques GA
Voir le fichier README.md
de chaque bibliothèque pour plus d'informations sur:
- Où trouver la documentation de la bibliothèque et du service.
- Comment commencer à utiliser la bibliothèque.
- Comment intégrer la bibliothèque dans votre système de construction.
- L'état du support de la bibliothèque s'il n'est généralement pas disponible (GA); Sauf indiquer dans
README.md
d'une bibliothèque, ces bibliothèques sont toutes GA et prises en charge par Google.
Se développer pour voir la liste complète des bibliothèques GA
- API d'approbation d'accès [QuickStart] [Référence]
- API API CONTEXT GESTION [QuickStart] [Référence]
- NOTIFICATIONS ADMIS API [QuickStart] [Référence]
- API VERTEX AI [QuickStart] [Référence]
- API ALLOYDB [QuickStart] [Référence]
- API Gateway API [QuickStart] [Référence]
- APIGEE Connect API [QuickStart] [Référence]
- API Keys API [QuickStart] [Référence]
- API ADMIN ADMIN APP [QuickStart] [Référence]
- API APP HUB [QuickStart] [Référence]
- API Registre Artefact [QuickStart] [Référence]
- API Cloud Asset [QuickStart] [Référence]
- API de charges de travail assurée [QuickStart] [Référence]
- API Cloud Automl [QuickStart] [Référence]
- API de service de sauvegarde et DR [QuickStart] [Référence]
- API de solution de métal nu [QuickStart] [Référence]
- API par lots [QuickStart] [Référence]
- API BeyondCorp [QuickStart] [Référence]
- Google Cloud BigQuery [QuickStart] [Référence]
- Google Cloud BigTable [QuickStart] [Référence]
- API budgétaire de facturation cloud [QuickStart] [Référence]
- API d'autorisation binaire [QuickStart] [Référence]
- API Certificate Manager [QuickStart] [Référence]
- API Cloud Channel [QuickStart] [Référence]
- API Cloud Build [QuickStart] [Référence]
- Cloud Controls Partner API [QuickStart] [Référence]
- API Cloud Quotas [QuickStart] [Référence]
- API d'approvisionnement des consommateurs de Cloud Commerce [QuickStart] [Référence]
- Cloud Composer [QuickStart] [Référence]
- Calculez l'API du moteur [QuickStart] [Référence]
- API informatique confidentielle [QuickStart] [Référence]
- API du gestionnaire d'infrastructure [QuickStart] [Référence]
- API Connecteurs [QuickStart] [Référence]
- API de contact AI Insights Centre [QuickStart] [Référence]
- API du moteur Kubernetes [QuickStart] [Référence]
- API d'analyse des conteneurs [QuickStart] [Référence]
- Documenter AI Warehouse API [QuickStart] [Référence]
- API de catalogue de données de cloud Google [QuickStart] [Référence]
- Cloud Data Fusion API [QuickStart] [Référence]
- API de migration de base de données [QuickStart] [Référence]
- API Cloud Dataplex [QuickStart] [Référence]
- API Cloud Dataproc [QuickStart] [Référence]
- API Cloud Datastore [QuickStart] [Référence]
- API DataStream [QuickStart] [Référence]
- API Google Cloud Deploy [QuickStart] [Référence]
- Développeur Connect API [QuickStart] [Référence]
- API DialogFlow CX [QuickStart] [Référence]
- API DialogFlow ES [QuickStart] [Référence]
- API Discovery Engine [QuickStart] [Référence]
- API de prévention de la perte de données cloud (DLP) [QuickStart] [Référence]
- API Cloud Document AI [QuickStart] [Référence]
- API Cloud Domains [QuickStart] [Référence]
- API de conteneur de bord de nuage distribué [QuickStart] [Référence]
- API du réseau Cloud Distributed [QuickStart] [Référence]
- API Contacts essentiels [QuickStart] [Référence]
- API EventArc [QuickStart] [Référence]
- API Cloud FileStore [QuickStart] [Référence]
- API Fonctions Cloud [QuickStart] [Référence]
- Sauvegarde de l'API GKE [QuickStart] [Référence]
- Connect API Gateway [QuickStart] [Référence]
- GKE HUB [QuickStart] [Référence]
- ANTHOS API Multi-Cloud [QuickStart] [Référence]
- Google Cloud IAM [QuickStart] [Référence]
- API Proxy Awal-Aware Cloud [QuickStart] [Référence]
- API Cloud IDS [QuickStart] [Référence]
- API Cloud Key Management Service (KMS) [QuickStart] [Référence]
- Cloud Natural Language API [QuickStart] [Référence]
- Google Cloud Logging [QuickStart] [Référence]
- Service géré pour l'API Microsoft Active Directory [QuickStart] [Référence]
- Service géré pour Apache Kafka API [QuickStart] [Référence]
- Cloud MemoryStore pour API Memcached [QuickStart] [Référence]
- API DataProc Metastore [QuickStart] [Référence]
- API du centre de migration [QuickStart] [Référence]
- API de surveillance cloud [QuickStart] [Référence]
- API NetApp [QuickStart] [Référence]
- API de connectivité réseau [QuickStart] [Référence]
- API de gestion du réseau [QuickStart] [Référence]
- API de sécurité réseau [QuickStart] [Référence]
- API des services réseau [QuickStart] [Référence]
- API des cahiers [QuickStart] [Référence]
- OAuth2 Access Token Generation [QuickStart] [Référence]
- API d'optimisation du cloud [QuickStart] [Référence]
- API de politique d'organisation [QuickStart] [Référence]
- API de configuration du système d'exploitation [QuickStart] [Référence]
- API Cloud OS Login [QuickStart] [Référence]
- API parallelStore [QuickStart] [Référence]
- API du simulateur de stratégie [QuickStart] [Référence]
- API de dépannage de politique [QuickStart] [Référence]
- API d'autorité de certificat [QuickStart] [Référence]
- API du gestionnaire d'accès privilégié [QuickStart] [Référence]
- API Cloud Profiler [QuickStart] [Référence]
- API de l'autorité de certificat public [QuickStart] [Référence]
- Google Cloud Pub / Sub [QuickStart] [Référence]
- API d'évaluation de la migration rapide [QuickStart] [référence]
- RecaptCha Enterprise API [QuickStart] [Référence]
- Recomderder [QuickStart] [Référence]
- Google Cloud MemoryStore pour redis API [QuickStart] [Référence]
- API Cloud Resource Manager [QuickStart] [Référence]
- API Paramètres de ressource [QuickStart] [Référence]
- API de vente au détail [QuickStart] [Référence]
- API Admin Cloud Run [QuickStart] [Référence]
- API Cloud Scheduler [QuickStart] [Référence]
- API Secret Manager [QuickStart] [Référence]
- API Secure Source Manager [QuickStart] [Référence]
- API du centre de commande de sécurité [QuickStart] [Référence]
- API de gestion du centre de sécurité [QuickStart] [Référence]
- API de contrôle de service [QuickStart] [Référence]
- API du répertoire de service [QuickStart] [Référence]
- API de santé des services [QuickStart] [Référence]
- API de gestion des services [QuickStart] [Référence]
- API d'utilisation du service [QuickStart] [Référence]
- API Cloud Shell [QuickStart] [Référence]
- Google Cloud Spanner [QuickStart] [Référence]
- API Speech-to-Text Cloud [QuickStart] [Référence]
- API Admin Cloud SQL [QuickStart] [Référence]
- Google Cloud Storage [QuickStart] [Référence]
- API de contrôle de stockage [QuickStart] [Référence]
- API de stockage Insights [QuickStart] [Référence]
- API de transfert de stockage [QuickStart] [Référence]
- API de support Google Cloud [QuickStart] [Référence]
- API de la solution de talent cloud [QuickStart] [Référence]
- Cloud Tasks API [QuickStart] [Référence]
- API d'automatisation des télécommunications [QuickStart] [Référence]
- API Text-the-Speech Cloud [QuickStart] [Référence]
- API TimesSeries Insights [QuickStart] [Référence]
- Cloud TPU API [QuickStart] [Référence]
- Cloud Trace API [QuickStart] [Référence]
- API de traduction de cloud [QuickStart] [Référence]
- Services vidéo [QuickStart] [Référence]
- Cloud Video Intelligence API [QuickStart] [Référence]
- API Cloud Vision [QuickStart] [Référence]
- API de migration VM [QuickStart] [Référence]
- API VMware Engine [QuickStart] [Référence]
- API d'accès VPC sans serveur [QuickStart] [Référence]
- API du risque Web [QuickStart] [Référence]
- API du scanner de sécurité Web [QuickStart] [Référence]
- API Exécution de workflow [QuickStart] [Référence]
- API des postes de travail cloud [QuickStart] [Référence]
Construction et installation
Il s'agit d'un guide QuickStart pour les développeurs qui souhaitent compiler les bibliothèques et exécuter les exemples inclus avec les bibliothèques.
- Les mainteneurs ou les développeurs d'emballage qui préfèrent installer la bibliothèque dans un répertoire fixe (tel que
/usr/local
ou /opt
) doivent consulter le guide d'emballage. - Les développeurs qui préfèrent utiliser un gestionnaire de packages tels que VCPKG ou Conda doivent suivre les instructions de leur gestionnaire de packages.
- Les développeurs souhaitant utiliser les bibliothèques dans le cadre d'un projet CMake ou Bazel plus grand doivent consulter les guides QuickStart pour la bibliothèque ou les bibliothèques qu'ils souhaitent utiliser.
- Les développeurs souhaitant compiler la bibliothèque juste pour exécuter quelques exemples ou tests doivent lire le document actuel.
- Les contributeurs et les développeurs à
google-cloud-cpp
devraient consulter le guide pour créer un poste de travail de développement.
Bâtiment avec bazel
Cette bibliothèque nécessite Bazel> = 6.0. Dans le répertoire de niveau supérieur, exécutez les commandes habituelles.
Bâtiment avec cmake
Cette bibliothèque nécessite Cmake> = 3.10. Si vous prévoyez d'installer les bibliothèques, veuillez consulter le guide d'emballage, ces instructions ne produiront pas d'artefacts que vous pouvez mettre /usr/local
, ou partager avec vos collègues.
Dans le répertoire de niveau supérieur de google-cloud-cpp
exécutez ces commandes:
git -C $HOME clone https://github.com/microsoft/vcpkg.git
env VCPKG_ROOT= $HOME /vcpkg $HOME /vcpkg/bootstrap-vcpkg.sh
cmake -S . -B cmake-out/ -DCMAKE_TOOLCHAIN_FILE= $HOME /vcpkg/scripts/buildsystems/vcpkg.cmake
cmake --build cmake-out -- -j $( nproc )
Les artefacts binaires, tels que des exemples, seront placés dans cmake-out/
.
Soutien
- Ce projet suit la politique de support C ++ de Google, qui est résumé dans la matrice de support C ++ fondamentale.
- Version linguistique (> = C ++ 14).
- Systèmes d'exploitation: Windows, MacOS et Linux.
- Systèmes de construction: Bazel (> = 6,0), CMake (> = 3,10).
- Compilateurs: gcc (> = 7,5), clang (> = 6,0), msvc (> = 2022), pomme clang (> = 12).
- Ce projet utilise les dépendances décrites dans DOC / Packaging.md.
- Ce projet fonctionne avec ou sans exception activé.
- Ce projet réduit les versions mensuelles avec des notes de version détaillées.
API et API publics changent les changements
Ce projet suit la politique de changement de bibliothèque OSS de Google.
En général, nous évitons d'apporter des modifications incompatibles en arrière à notre API publique. Parfois, de tels changements donnent des avantages à nos clients, sous la forme de meilleures performances, des API plus faciles à comprendre et / ou des API plus cohérentes entre les services. Lorsque ces avantages le justifient, nous le ferons:
- Annoncez ces modifications en bonne place dans notre fichier
CHANGELOG.md
et dans les notes de la version affectée. - Augmentez la version principale de
google-cloud-cpp
.
Néanmoins, bien que nous prenions des efforts commercialement raisonnables pour empêcher cela, il est possible que les changements incompatibles à l'envers ne soient pas détectés et, par conséquent, sans papiers. Nous nous excusons si c'est le cas et accueille des commentaires ou des rapports de bogues pour rectifier le problème.
Contactez-nous
- Discussions GitHub - pour des questions et des commentaires généraux
- Problèmes de GitHub - pour signaler les bogues et les demandes de fonctionnalités
Modifications contributives
Voir CONTRIBUTING.md
pour plus de détails sur la façon de contribuer à ce projet, y compris comment créer et tester vos modifications ainsi que sur la façon de formater correctement votre code.
Licence
Apache 2.0; Voir LICENSE
pour plus de détails.