Google Cloud Platform C ++ Pustaka Klien
Repositori ini berisi perpustakaan klien C ++ idiomatik untuk layanan Google Cloud Platform berikut.
Silakan periksa changelog untuk pengumuman penting dan perubahan mendatang.
QuickStart
Setiap perpustakaan (lihat di bawah) berisi direktori bernama quickstart/
yang dimaksudkan untuk membantu Anda bangun dan berjalan dalam hitungan menit. Direktori quickstart/
ini berisi program "Hello World" minimal yang menunjukkan cara menggunakan perpustakaan, bersama dengan file build minimal untuk sistem pembuatan umum, seperti CMake dan Bazel.
Sebagai contoh, cuplikan kode berikut, diambil dari Google Cloud Storage, harus memberi Anda perasaan bagaimana rasanya menggunakan salah satu perpustakaan C ++ ini.
# 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 ;
}
Perpustakaan GA
Lihat file README.md
masing -masing perpustakaan untuk informasi lebih lanjut tentang:
- Di mana menemukan dokumentasi untuk perpustakaan dan layanan.
- Cara Mulai Menggunakan Perpustakaan.
- Cara memasukkan perpustakaan ke dalam sistem build Anda.
- Status Dukungan Perpustakaan jika tidak tersedia secara umum (GA); Kecuali disebutkan dalam
README.md
perpustakaan, perpustakaan ini semuanya GA dan didukung oleh Google.
Perluas untuk melihat daftar lengkap perpustakaan GA
- API Persetujuan Akses [QuickStart] [Referensi]
- Access Context Manager API [QuickStart] [Referensi]
- Pemberitahuan Penasihat API [QuickStart] [Referensi]
- Vertex AI API [QuickStart] [Referensi]
- API AlloyDB [QuickStart] [Referensi]
- API Gateway API [QuickStart] [Referensi]
- Apigee Connect API [QuickStart] [Referensi]
- API Keys API [QuickStart] [Referensi]
- API Admin Mesin App [QuickStart] [Referensi]
- App Hub API [QuickStart] [Referensi]
- API Registry Artefak [QuickStart] [Referensi]
- API aset cloud [QuickStart] [Referensi]
- API beban kerja yang terjamin [QuickStart] [Referensi]
- Cloud Automl API [QuickStart] [Referensi]
- API Layanan Cadangan dan DR [QuickStart] [Referensi]
- API Solusi Logam Bare [QuickStart] [Referensi]
- API Batch [QuickStart] [Referensi]
- BeyondCorp API [QuickStart] [Referensi]
- Google Cloud BigQuery [QuickStart] [Referensi]
- Google Cloud BigTable [QuickStart] [Referensi]
- API Anggaran Penagihan Cloud [QuickStart] [Referensi]
- API Otorisasi Biner [QuickStart] [Referensi]
- API Manajer Sertifikat [QuickStart] [Referensi]
- Cloud Channel API [QuickStart] [Referensi]
- API Build Cloud [QuickStart] [Referensi]
- API Mitra Kontrol Cloud [QuickStart] [Referensi]
- Cloud Quota API [QuickStart] [Referensi]
- API Pengadaan Konsumen Cloud Commerce [QuickStart] [Referensi]
- Cloud Composer [QuickStart] [Referensi]
- Hitung API Engine [QuickStart] [Referensi]
- API Komputasi Rahasia [QuickStart] [Referensi]
- API Manajer Infrastruktur [QuickStart] [Referensi]
- API Konektor [QuickStart] [Referensi]
- Contact Center AI Insights API [QuickStart] [Referensi]
- API Mesin Kubernetes [QuickStart] [Referensi]
- Container Analysis API [QuickStart] [Referensi]
- Dokumen AI Warehouse API [QuickStart] [Referensi]
- Google Cloud Data Catalog API [QuickStart] [Referensi]
- Cloud Data Fusion API [QuickStart] [Referensi]
- API Migrasi Database [QuickStart] [Referensi]
- API Dataplex Cloud [QuickStart] [Referensi]
- API Cloud Dataproc [QuickStart] [Referensi]
- API Cloud Datastore [QuickStart] [Referensi]
- API DataStream [QuickStart] [Referensi]
- Google Cloud Deploy API [QuickStart] [Referensi]
- Pengembang Connect API [QuickStart] [Referensi]
- DialogFlow CX API [QuickStart] [Referensi]
- Dialogflow ES API [QuickStart] [Referensi]
- Discovery Engine API [QuickStart] [Referensi]
- API Pencegahan Kehilangan Data Cloud (DLP) [QuickStart] [Referensi]
- Dokumen Cloud AI API [QuickStart] [Referensi]
- API Domain Cloud [QuickStart] [Referensi]
- API Kontainer Tepi Awan Terdistribusi [QuickStart] [Referensi]
- API jaringan cloud edge terdistribusi [QuickStart] [Referensi]
- Kontak Esensial API [QuickStart] [Referensi]
- API Eventarc [QuickStart] [Referensi]
- API Cloud Filestore [QuickStart] [Referensi]
- API Fungsi Cloud [QuickStart] [Referensi]
- Cadangan untuk GKE API [QuickStart] [Referensi]
- Hubungkan API Gateway [QuickStart] [Referensi]
- GKE Hub [QuickStart] [Referensi]
- Anthos Multi-Cloud API [QuickStart] [Referensi]
- Google Cloud IAM [QuickStart] [Referensi]
- API Proxy Aware Cloud Identity [QuickStart] [Referensi]
- Cloud IDS API [QuickStart] [Referensi]
- Layanan Manajemen Kunci Cloud (KMS) API [QuickStart] [Referensi]
- API Bahasa Natural Cloud [QuickStart] [Referensi]
- Google Cloud Logging [QuickStart] [Referensi]
- Layanan terkelola untuk Microsoft Active Directory API [QuickStart] [Referensi]
- Layanan terkelola untuk Apache Kafka API [QuickStart] [Referensi]
- Cloud Memorystore untuk API Memcached [QuickStart] [Referensi]
- API DataProc Metastore [QuickStart] [Referensi]
- API Pusat Migrasi [QuickStart] [Referensi]
- API Pemantauan Cloud [QuickStart] [Referensi]
- NetApp API [QuickStart] [Referensi]
- API Konektivitas Jaringan [QuickStart] [Referensi]
- API Manajemen Jaringan [QuickStart] [Referensi]
- API Keamanan Jaringan [QuickStart] [Referensi]
- API Layanan Jaringan [QuickStart] [Referensi]
- Notebooks API [QuickStart] [Referensi]
- OAuth2 Access Token Generation [QuickStart] [Referensi]
- API Optimasi Cloud [QuickStart] [Referensi]
- API Kebijakan Organisasi [QuickStart] [Referensi]
- OS Config API [QuickStart] [Referensi]
- API Login Cloud OS [QuickStart] [Referensi]
- Parallelstore API [QuickStart] [Referensi]
- API Simulator Kebijakan [QuickStart] [Referensi]
- Pemecahan Masalah Kebijakan API [QuickStart] [Referensi]
- API Otoritas Sertifikat [QuickStart] [Referensi]
- API Manajer Akses Privileged [QuickStart] [Referensi]
- API Cloud Profiler [QuickStart] [Referensi]
- API Otoritas Sertifikat Publik [QuickStart] [Referensi]
- Google Cloud Pub/Sub [QuickStart] [Referensi]
- API Penilaian Migrasi Cepat [QuickStart] [Referensi]
- RECAPTCHA Enterprise API [QuickStart] [Referensi]
- Rekomendasi [QuickStart] [Referensi]
- Google Cloud Memorystore untuk Redis API [QuickStart] [Referensi]
- Cloud Resource Manager API [QuickStart] [Referensi]
- API Pengaturan Sumber Daya [QuickStart] [Referensi]
- API ritel [QuickStart] [Referensi]
- API Admin Cloud Run [QuickStart] [Referensi]
- API Penjadwal Cloud [QuickStart] [Referensi]
- API Manajer Rahasia [QuickStart] [Referensi]
- API Manajer Sumber Aman [QuickStart] [Referensi]
- API Pusat Komando Keamanan [QuickStart] [Referensi]
- API Manajemen Pusat Keamanan [QuickStart] [Referensi]
- API Kontrol Layanan [QuickStart] [Referensi]
- API Direktori Layanan [QuickStart] [Referensi]
- API Kesehatan Layanan [QuickStart] [Referensi]
- API Manajemen Layanan [QuickStart] [Referensi]
- API Penggunaan Layanan [QuickStart] [Referensi]
- API cloud shell [QuickStart] [Referensi]
- Google Cloud Spanner [QuickStart] [Referensi]
- API ucapan-ke-teks cloud [QuickStart] [Referensi]
- Cloud SQL Admin API [QuickStart] [Referensi]
- Google Cloud Storage [QuickStart] [Referensi]
- API Kontrol Penyimpanan [QuickStart] [Referensi]
- API Wawasan Penyimpanan [QuickStart] [Referensi]
- API Transfer Penyimpanan [QuickStart] [Referensi]
- Google Cloud Support API [QuickStart] [Referensi]
- API Solusi Talenta Cloud [QuickStart] [Referensi]
- API Tugas Cloud [QuickStart] [Referensi]
- API Otomasi Telco [QuickStart] [Referensi]
- Cloud text-to-speech API [QuickStart] [Referensi]
- Timeseries Insights API [QuickStart] [Referensi]
- Cloud TPU API [QuickStart] [Referensi]
- Cloud Trace API [QuickStart] [Referensi]
- API Terjemahan Cloud [QuickStart] [Referensi]
- Layanan Video [QuickStart] [Referensi]
- API Intelijen Video Cloud [QuickStart] [Referensi]
- API Cloud Vision [QuickStart] [Referensi]
- API Migrasi VM [QuickStart] [Referensi]
- VMware Engine API [QuickStart] [Referensi]
- API Akses VPC Serverless [QuickStart] [Referensi]
- API Risiko Web [QuickStart] [Referensi]
- API Pemindai Keamanan Web [QuickStart] [Referensi]
- Eksekusi Alur Kerja API [QuickStart] [Referensi]
- API Workstation Cloud [QuickStart] [Referensi]
Membangun dan memasang
Ini adalah panduan cepat untuk pengembang yang ingin menyusun perpustakaan dan menjalankan contoh yang disertakan dengan perpustakaan.
- Pemelihara pengemasan atau pengembang yang lebih suka menginstal perpustakaan di direktori tetap (seperti
/usr/local
atau /opt
) harus berkonsultasi dengan panduan pengemasan. - Pengembang yang lebih suka menggunakan manajer paket seperti VCPKG, atau Conda, harus mengikuti instruksi untuk manajer paket mereka.
- Pengembang yang ingin menggunakan perpustakaan sebagai bagian dari proyek CMake atau Bazel yang lebih besar harus berkonsultasi dengan panduan QuickStart untuk perpustakaan atau perpustakaan yang ingin mereka gunakan.
- Pengembang yang ingin mengkompilasi perpustakaan hanya untuk menjalankan beberapa contoh atau tes harus membaca dokumen saat ini.
- Kontributor dan pengembang untuk
google-cloud-cpp
harus berkonsultasi dengan panduan ini untuk membuat workstation pengembangan.
Membangun dengan bazel
Perpustakaan ini membutuhkan Bazel> = 6.0. Dari direktori tingkat atas, jalankan perintah yang biasa.
Membangun dengan cmake
Perpustakaan ini membutuhkan cmake> = 3.10. Jika Anda berencana untuk menginstal perpustakaan, silakan berkonsultasi dengan panduan pengemasan, instruksi ini tidak akan menghasilkan artefak yang dapat Anda masukkan /usr/local
, atau bagikan dengan kolega Anda.
Dari direktori tingkat atas google-cloud-cpp
jalankan perintah ini:
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 )
Artefak biner, seperti contoh, akan ditempatkan di cmake-out/
.
Mendukung
- Proyek ini mengikuti kebijakan dukungan C ++ dasar Google, yang dirangkum dalam matriks dukungan C ++ dasar.
- Versi bahasa (> = C ++ 14).
- Sistem Operasi: Windows, MacOS, dan Linux.
- Sistem Bangun: Bazel (> = 6.0), CMake (> = 3.10).
- Kompiler: gcc (> = 7.5), clang (> = 6.0), msvc (> = 2022), clang apel (> = 12).
- Proyek ini menggunakan dependensi yang dijelaskan dalam DOC/Packaging.md.
- Proyek ini berfungsi dengan atau tanpa kecuali diaktifkan.
- Proyek ini memotong rilis bulanan dengan catatan rilis terperinci.
API Publik dan API Breaking Changes
Proyek ini mengikuti kebijakan perubahan Perpustakaan OSS Google.
Secara umum, kami menghindari membuat perubahan yang tidak kompatibel dengan API publik kami. Terkadang perubahan tersebut menghasilkan manfaat bagi pelanggan kami, dalam bentuk kinerja yang lebih baik, API yang lebih mudah dipahami, dan/atau API yang lebih konsisten di seluruh layanan. Ketika manfaat ini menjaminnya, kami akan:
- Mengumumkan perubahan ini dengan jelas dalam file
CHANGELOG.md
kami dan dalam catatan rilis yang terpengaruh. - Tingkatkan versi utama untuk
google-cloud-cpp
.
Namun demikian, meskipun kami mengambil upaya yang wajar secara komersial untuk mencegah hal ini, ada kemungkinan bahwa perubahan yang tidak kompatibel tidak terdeteksi dan, oleh karena itu, tidak berdokumen. Kami mohon maaf jika ini masalahnya dan menyambut umpan balik atau laporan bug untuk memperbaiki masalah.
Hubungi kami
- Diskusi GitHub - Untuk pertanyaan dan komentar umum
- Masalah GitHub - Untuk melaporkan bug dan permintaan fitur
Kontribusi perubahan
Lihat CONTRIBUTING.md
untuk detail tentang cara berkontribusi pada proyek ini, termasuk cara membangun dan menguji perubahan Anda serta cara memformat kode Anda dengan benar.
Lisensi
Apache 2.0; Lihat LICENSE
untuk detailnya.