Klien idiomatik Java untuk layanan Google Cloud Platform.
Library tersedia di GitHub dan Maven Central untuk mengembangkan aplikasi Java yang berinteraksi dengan masing-masing layanan Google Cloud:
Klien | Tingkat Rilis | Versi |
---|---|---|
Buku Catatan Platform AI | ||
Gerbang API | ||
API Kunci API | ||
Persetujuan Akses | ||
API Pemberitahuan Penasihat | ||
PaduanDB | ||
Konektor AlloyDB | ||
API Pusat Analisis | ||
Koneksi Apigee | ||
API Admin Mesin Aplikasi | ||
Pendaftaran Artefak | ||
Inventarisasi Aset | ||
Beban Kerja Terjamin untuk Pemerintah | ||
ML Otomatis | ||
API Cadangan dan Layanan DR | ||
Kueri Besar | ||
Koneksi BigQuery | ||
Layanan Transfer Data BigQuery | ||
Reservasi BigQuery | ||
Penyimpanan BigQuery | ||
meja besar | ||
Klien Hbase Bigtable | ||
Penagihan | ||
Anggaran Penagihan | ||
Otorisasi Biner | ||
Membangun | ||
Wawasan CCAI | ||
Layanan Otoritas Sertifikat | ||
Layanan Saluran | ||
Komposer | ||
Mesin Komputasi | ||
Hubungkan API Gerbang | ||
Analisis Kontainer | ||
Mengontrol API Mitra | ||
DNS | ||
Katalog Data | ||
Penggabungan Data | ||
Silsilah Data | ||
Pencegahan Kehilangan Data | ||
Layanan Migrasi Basis Data | ||
Kompleks Data | ||
Proses data | ||
Metastore Dataproc | ||
Penyimpanan data | ||
Aliran data | ||
debug | ||
Menyebarkan | ||
API Dialogflow | ||
API Mesin Penemuan | ||
Tepi Terdistribusi | ||
API Jaringan Edge Terdistribusi | ||
Dokumen AI | ||
Domain | ||
API Kontak Penting | ||
acara | ||
API penyimpanan file | ||
toko pemadam kebakaran | ||
Perutean Armada | ||
Fungsi | ||
API Hub GKE | ||
SAYA | ||
API Admin IAM | ||
API Pemecah Masalah Kebijakan IAM | ||
API Kredensial Akun Layanan IAM | ||
Manajer Konteks Akses Identitas | ||
API Proksi Sadar Identitas | ||
API Manajer Infrastruktur | ||
Inti Internet of Things (IoT). | ||
Sistem Deteksi Intrusi | ||
Layanan Manajemen Kunci | ||
Mesin Kubernetes | ||
Pencatatan | ||
Layanan Terkelola untuk Direktori Aktif Microsoft | ||
Memcache | ||
Dasbor Pemantauan | ||
Bahasa Alami | ||
Pusat Konektivitas Jaringan | ||
API Manajemen Jaringan | ||
API Keamanan Jaringan | ||
API Konfigurasi OS | ||
Masuk OS | ||
Kebijakan Organisasi | ||
Profiler | ||
Pub/Sub | ||
Konektor Kafka Grup Pub/Sub | ||
Pub/Sub Ringan | ||
Pub/Sub Lite Kafka Shim | ||
Konektor Spark Pub/Sub Lite | ||
API Otoritas Sertifikat Publik | ||
API Kuota | ||
Rekomendasi | ||
ulang | ||
API Manajer Sumber Daya | ||
API Pengaturan Sumber Daya | ||
Pengecer | ||
API Rute | ||
Penjadwal | ||
Manajemen Rahasia | ||
API Manajer Sumber Aman | ||
API Manajemen Pusat Keamanan | ||
Pusat Komando Keamanan | ||
API Postur Keamanan | ||
Pemindai Keamanan | ||
Akses VPC Tanpa Server | ||
API Kontrol Layanan | ||
Direktori Layanan | ||
API Manajemen Layanan | ||
Penggunaan Layanan | ||
Kerang | ||
Kunci pas | ||
Kunci pas JDBC | ||
Pidato | ||
Pemantauan Penumpuk | ||
Pelacakan Stackdriver | ||
Penyimpanan | ||
Layanan Transfer Penyimpanan | ||
TPU | ||
Solusi Bakat | ||
Tugas | ||
API Otomasi Telco | ||
Teks-ke-Ucapan | ||
Terjemahan | ||
Migrasi VM | ||
Verteks AI | ||
API VertexAI | ||
Kecerdasan Video | ||
API Penggabung Video | ||
Transkoder Video | ||
Penglihatan | ||
Risiko Web | ||
Eksekusi Alur Kerja | ||
Alur kerja | ||
API Add-on Ruang Kerja | ||
Stasiun Kerja | ||
reCAPTCHA Perusahaan | ||
API pusat API | ||
API Pengelola Iklan | ||
API Validasi Alamat | ||
Admin Analisis | ||
Data Analisis | ||
Pusat Analisis | ||
Anthos Multicloud | ||
Layanan Terkelola untuk Apache Kafka API | ||
API Pusat Aplikasi | ||
Luas 120 Meja | ||
Cadangan untuk GKE | ||
Solusi Logam Telanjang | ||
Kelompok | ||
Koneksi Aplikasi BeyondCorp | ||
Konektor Aplikasi BeyondCorp | ||
Gerbang Aplikasi BeyondCorp | ||
Layanan Konektor Klien BeyondCorp | ||
Gerbang Klien BeyondCorp | ||
Danau Besar | ||
API Kebijakan Data BigQuery | ||
Migrasi BigQuery | ||
API CSS | ||
Manajer Sertifikat | ||
API Obrolan | ||
Pengadaan Konsumen Perdagangan | ||
API Komputasi Rahasia | ||
Hubungkan API Gerbang | ||
Pelabelan Data | ||
Aliran data | ||
Formulir Data | ||
API Koneksi Pengembang | ||
Dialogflow CX | ||
Gudang Dokumen AI | ||
Grafik Pengetahuan Perusahaan | ||
Pelaporan Kesalahan | ||
Penerbitan Acara | ||
API Manajemen Perangkat Keras GDC | ||
API Inventaris KMS | ||
Ilmu Hayati | ||
API Streaming Langsung | ||
Pencatatan Logback Appender | ||
Pencatatan Penginisialisasi Servlet | ||
API Kumpulan Data Maps Platform | ||
API Admin Platform Pemasaran | ||
API Terjemahan Media | ||
Temui API | ||
Penyimpanan memori untuk Redis API | ||
API Pedagang | ||
API Pedagang | ||
API Pedagang | ||
API Pedagang | ||
API Pedagang | ||
API Pedagang | ||
API Konversi Pedagang | ||
API LFP Pedagang | ||
API Pemberitahuan Pedagang | ||
API Kuota Pedagang | ||
API Pusat Migrasi | ||
Cakupan Metrik Pemantauan | ||
Penyedia Sistem File NIO untuk Penyimpanan | ||
API NetApp | ||
API Layanan Jaringan | ||
Basis Data Oracle@API | ||
API Toko Paralel | ||
Perlindungan Phishing | ||
API Tempat (Baru) | ||
API Wawasan Tempat | ||
API Simulator Kebijakan | ||
Katalog Pribadi | ||
API Manajer Akses Istimewa | ||
Konektor Flink Pub/Sub Lite | ||
API Penilaian Migrasi Cepat | ||
Rekomendasi AI | ||
API Registri | ||
API Pengoptimalan Rute | ||
Berlari | ||
API Pengaturan Pusat Komando Keamanan | ||
API Kesehatan Layanan | ||
API Surya | ||
API Wawasan Penyimpanan | ||
API Dukungan | ||
Mesin VMware | ||
API Visi AI | ||
API Peristiwa Ruang Kerja |
Jika layanan tidak tercantum, google-api-java-client akan berinteraksi dengan Google Cloud API tambahan menggunakan antarmuka REST yang lama.
Saat membangun aplikasi Java, preferensi harus diberikan pada perpustakaan yang tercantum dalam tabel.
Sebagian besar perpustakaan google-cloud
memerlukan ID proyek. Ada beberapa cara untuk menentukan ID proyek ini.
google-cloud
dari dalam Compute/App Engine, Anda tidak perlu menentukan ID proyek. Ini secara otomatis disimpulkan dari lingkungan produksi.google-cloud
di tempat lain, Anda dapat melakukan salah satu hal berikut:Berikan ID proyek saat membuat opsi layanan. Misalnya, untuk menggunakan Datastore dari project dengan ID "PROJECT_ID", Anda dapat menulis:
Datastore datastore = DatastoreOptions . newBuilder (). setProjectId ( "PROJECT_ID" ). build (). getService ();
Tentukan variabel lingkungan GOOGLE_CLOUD_PROJECT
sebagai ID proyek yang Anda inginkan.
Tetapkan ID proyek menggunakan Google Cloud SDK. Untuk menggunakan SDK, unduh SDK jika Anda belum melakukannya, dan tetapkan ID proyek dari baris perintah. Misalnya:
gcloud config set project PROJECT_ID
google-cloud
menentukan ID proyek dari sumber berikut dalam urutan yang tercantum, berhenti setelah menemukan nilai:
GOOGLE_CLOUD_PROJECT
GOOGLE_APPLICATION_CREDENTIALS
Jika perpustakaan mengharapkan ID proyek secara eksplisit, kami menyediakan bantuan yang dapat memberikan ID proyek yang disimpulkan:
import com . google . cloud . ServiceOptions ;
...
String projectId = ServiceOptions . getDefaultProjectId ();
google-cloud-java
menggunakan https://github.com/googleapis/google-auth-library-java untuk mengautentikasi permintaan. google-auth-library-java
mendukung berbagai jenis otentikasi; lihat README dan javadoc proyek untuk lebih jelasnya.
Saat menggunakan perpustakaan Google Cloud dari lingkungan Google Cloud Platform seperti Compute Engine, Kubernetes Engine, atau App Engine, tidak diperlukan langkah autentikasi tambahan.
Misalnya:
Storage storage = StorageOptions . getDefaultInstance (). getService ();
atau:
CloudTasksClient cloudTasksClient = CloudTasksClient . create ();
Hasilkan kunci akun layanan JSON.
Setelah mengunduh kunci itu, Anda harus melakukan salah satu hal berikut:
export GOOGLE_APPLICATION_CREDENTIALS=/path/to/my/key.json
Storage storage = StorageOptions . newBuilder ()
. setCredentials ( ServiceAccountCredentials . fromStream ( new FileInputStream ( "/path/to/my/key.json" )))
. build ()
. getService ();
Jika dijalankan secara lokal untuk pengembangan/pengujian, Anda dapat menggunakan Google Cloud SDK. Buat Kredensial Default Aplikasi dengan gcloud auth application-default login
, lalu google-cloud
akan secara otomatis mendeteksi kredensial tersebut.
Jika Anda sudah memiliki token akses OAuth2, Anda dapat menggunakannya untuk mengautentikasi (perhatikan bahwa dalam kasus ini, token akses tidak akan di-refresh secara otomatis):
Credentials credentials = GoogleCredentials . create ( new AccessToken ( accessToken , expirationTime ));
Storage storage = StorageOptions . newBuilder ()
. setCredentials ( credentials )
. build ()
. getService ();
atau:
Credentials credentials = GoogleCredentials . create ( new AccessToken ( accessToken , expirationTime ));
CloudTasksSettings cloudTasksSettings = CloudTasksSettings . newBuilder ()
. setCredentialProvider ( FixedCredentialsProvider . create ( credentials ))
. build ();
CloudTasksClient cloudTasksClient = CloudTasksClient . create ( cloudTasksSettings );
Jika tidak ada kredensial yang diberikan, google-cloud
akan mencoba mendeteksinya dari lingkungan menggunakan GoogleCredentials.getApplicationDefault()
yang akan mencari Kredensial Default Aplikasi di lokasi berikut (secara berurutan):
GOOGLE_APPLICATION_CREDENTIALS
gcloud auth application-default login
Google Cloud SDKMengautentikasi dengan Kunci API didukung oleh beberapa Google Cloud API.
Kami secara aktif mencari cara untuk meningkatkan pengalaman Kunci API. Saat ini, untuk menggunakan Kunci API dengan pustaka klien Java, Anda perlu menyetel header untuk Klien layanan yang relevan secara manual.
Misalnya, untuk menyetel Kunci API dengan layanan Bahasa:
public LanguageServiceClient createGrpcClientWithApiKey ( String apiKey ) throws Exception {
// Manually set the api key via the header
Map < String , String > header = new HashMap < String , String >() { { put ( "x-goog-api-key" , apiKey );}};
FixedHeaderProvider headerProvider = FixedHeaderProvider . create ( header );
// Create the client
TransportChannelProvider transportChannelProvider = InstantiatingGrpcChannelProvider . newBuilder (). setHeaderProvider ( headerProvider ). build ();
LanguageServiceSettings settings = LanguageServiceSettings . newBuilder (). setTransportChannelProvider ( transportChannelProvider ). build ();
LanguageServiceClient client = LanguageServiceClient . create ( settings );
return client ;
}
Contoh instantiasi dengan Klien Bahasa menggunakan rest:
public LanguageServiceClient createRestClientWithApiKey ( String apiKey ) throws Exception {
// Manually set the api key header
Map < String , String > header = new HashMap < String , String >() { { put ( "x-goog-api-key" , apiKey );}};
FixedHeaderProvider headerProvider = FixedHeaderProvider . create ( header );
// Create the client
TransportChannelProvider transportChannelProvider = InstantiatingHttpJsonChannelProvider . newBuilder (). setHeaderProvider ( headerProvider ). build ();
LanguageServiceSettings settings = LanguageServiceSettings . newBuilder (). setTransportChannelProvider ( transportChannelProvider ). build ();
LanguageServiceClient client = LanguageServiceClient . create ( settings );
return client ;
}
Untuk mendapatkan bantuan, ikuti petunjuk dalam dokumen Pemecahan Masalah.
Library klien Google Cloud menggunakan HTTPS dan gRPC dalam komunikasi dasar dengan layanan. Di kedua protokol, Anda dapat mengonfigurasi proksi menggunakan properti https.proxyHost
dan (opsional) https.proxyPort
.
Untuk proksi khusus lainnya dengan gRPC, Anda perlu menyediakan ProxyDetector
ke ManagedChannelBuilder
:
import com . google . api . core . ApiFunction ;
import com . google . api . gax . rpc . TransportChannelProvider ;
import com . google . cloud . tasks . v2 . CloudTasksClient ;
import com . google . cloud . tasks . v2 . CloudTasksSettings ;
import com . google . cloud . tasks . v2 . stub . CloudTasksStubSettings ;
import io . grpc . HttpConnectProxiedSocketAddress ;
import io . grpc . ManagedChannelBuilder ;
import io . grpc . ProxiedSocketAddress ;
import io . grpc . ProxyDetector ;
import javax . annotation . Nullable ;
import java . io . IOException ;
import java . net . InetSocketAddress ;
import java . net . SocketAddress ;
public CloudTasksClient getService () throws IOException {
TransportChannelProvider transportChannelProvider =
CloudTasksStubSettings . defaultGrpcTransportProviderBuilder ()
. setChannelConfigurator (
new ApiFunction < ManagedChannelBuilder , ManagedChannelBuilder >() {
@ Override
public ManagedChannelBuilder apply ( ManagedChannelBuilder managedChannelBuilder ) {
return managedChannelBuilder . proxyDetector (
new ProxyDetector () {
@ Nullable
@ Override
public ProxiedSocketAddress proxyFor ( SocketAddress socketAddress )
throws IOException {
return HttpConnectProxiedSocketAddress . newBuilder ()
. setUsername ( PROXY_USERNAME )
. setPassword ( PROXY_PASSWORD )
. setProxyAddress ( new InetSocketAddress ( PROXY_HOST , PROXY_PORT ))
. setTargetAddress (( InetSocketAddress ) socketAddress )
. build ();
}
});
}
})
. build ();
CloudTasksSettings cloudTasksSettings =
CloudTasksSettings . newBuilder ()
. setTransportChannelProvider ( transportChannelProvider )
. build ();
return CloudTasksClient . create ( cloudTasksSettings );
}
Operasi yang berjalan lama (LRO) sering kali digunakan untuk panggilan API yang diperkirakan memerlukan waktu lama untuk diselesaikan (yaitu menyediakan instance GCE atau pipeline Dataflow). Panggilan API awal membuat "operasi" di server dan mengembalikan ID Operasi untuk melacak kemajuannya. RPC LRO memiliki akhiran Async
yang ditambahkan ke nama panggilan (yaitu clusterControllerClient.createClusterAsync()
)
Klien kami yang dihasilkan menyediakan antarmuka yang bagus untuk memulai operasi dan kemudian menunggu operasi selesai. Hal ini dicapai dengan mengembalikan OperationFuture
. Saat memanggil get()
pada OperationFuture
, perpustakaan klien akan melakukan polling operasi untuk memeriksa status operasi.
Misalnya, ambil contoh Operasi createCluster
di google-cloud-dataproc v4.20.0:
try ( ClusterControllerClient clusterControllerClient = ClusterControllerClient . create ()) {
CreateClusterRequest request =
CreateClusterRequest . newBuilder ()
. setProjectId ( "{PROJECT_ID}" )
. setRegion ( "{REGION}" )
. setCluster ( Cluster . newBuilder (). build ())
. setRequestId ( "{REQUEST_ID}" )
. setActionOnFailedPrimaryWorkers ( FailureAction . forNumber ( 0 ))
. build ();
OperationFuture < Cluster , ClusterOperationMetadata > future =
clusterControllerClient . createClusterOperationCallable (). futureCall ( request );
// Do something.
Cluster response = future . get ();
} catch ( CancellationException e ) {
// Exceeded the default RPC timeout without the Operation completing.
// Library is no longer polling for the Operation status. Consider
// increasing the timeout.
}
Operasi pemungutan suara memiliki batas waktu default yang bervariasi dari satu layanan ke layanan lainnya. Perpustakaan akan menampilkan java.util.concurrent.CancellationException
dengan pesan: Task was cancelled.
jika batas waktu melebihi operasi. CancellationException
tidak berarti Operasi GCP backend dibatalkan. Pengecualian ini dikeluarkan dari perpustakaan klien ketika telah melampaui total waktu tunggu tanpa menerima status berhasil dari operasi. Pustaka klien kami menghormati nilai konfigurasi yang ditetapkan dalam OperationTimedPollAlgorithm untuk setiap RPC.
Catatan: Pustaka klien menangani mekanisme polling Operasi untuk Anda. Secara default, Anda tidak perlu melakukan polling status secara manual.
Setiap RPC LRO memiliki serangkaian nilai default yang telah dikonfigurasi sebelumnya. Anda dapat menemukan nilai-nilai ini dengan mencari di kelas StubSettings
masing-masing Klien. Pengaturan LRO default diinisialisasi di dalam metode initDefaults()
di kelas Builder yang disarangkan.
Misalnya, di google-cloud-aiplatform v3.24.0, OperationTimedPollAlgorithm default memiliki nilai default berikut:
OperationTimedPollAlgorithm . create (
RetrySettings . newBuilder ()
. setInitialRetryDelay ( Duration . ofMillis ( 5000L ))
. setRetryDelayMultiplier ( 1.5 )
. setMaxRetryDelay ( Duration . ofMillis ( 45000L ))
. setInitialRpcTimeout ( Duration . ZERO )
. setRpcTimeoutMultiplier ( 1.0 )
. setMaxRpcTimeout ( Duration . ZERO )
. setTotalTimeout ( Duration . ofMillis ( 300000L ))
. build ())
Baik percobaan ulang maupun LRO berbagi kelas RetrySettings yang sama. Perhatikan tautan yang sesuai:
Nilai RPC Timeout tidak berguna dalam LRO dan dapat dihilangkan atau diatur ke nilai default ( Duration.ZERO
untuk Timeout atau 1.0
untuk pengali).
Untuk mengonfigurasi nilai LRO, buat objek OperationTimedPollAlgorithm dan perbarui algoritma polling RPC. Misalnya:
ClusterControllerSettings . Builder settingsBuilder = ClusterControllerSettings . newBuilder ();
TimedRetryAlgorithm timedRetryAlgorithm = OperationTimedPollAlgorithm . create (
RetrySettings . newBuilder ()
. setInitialRetryDelay ( Duration . ofMillis ( 500L ))
. setRetryDelayMultiplier ( 1.5 )
. setMaxRetryDelay ( Duration . ofMillis ( 5000L ))
. setInitialRpcTimeout ( Duration . ZERO ) // ignored
. setRpcTimeoutMultiplier ( 1.0 ) // ignored
. setMaxRpcTimeout ( Duration . ZERO ) // ignored
. setTotalTimeout ( Duration . ofHours ( 24L )) // set polling timeout to 24 hours
. build ());
settingsBuilder . createClusterOperationSettings ()
. setPollingAlgorithm ( timedRetryAlgorithm );
ClusterControllerClient clusterControllerClient = ClusterControllerClient . create ( settingsBuilder . build ());
Catatan: Konfigurasi di atas hanya mengubah nilai LRO untuk RPC createClusterOperation
. RPC lain di Klien akan tetap menggunakan nilai LRO masing-masing RPC yang telah dikonfigurasi sebelumnya.
Jika Anda menggunakan lebih dari satu pustaka klien Google Cloud, sebaiknya gunakan salah satu artefak Bill of Material (BOM) kami untuk membantu mengelola versi ketergantungan. Untuk informasi selengkapnya, lihat Menggunakan Perpustakaan Klien Cloud.
Java 8 atau lebih tinggi diperlukan untuk menggunakan klien di repositori ini.
Klien di repositori ini menggunakan HTTP atau gRPC untuk lapisan transport. Semua klien berbasis HTTP harus bekerja di semua lingkungan.
Untuk klien yang menggunakan gRPC, platform yang didukung dibatasi oleh platform yang didukung oleh Forked Tomcat Native, yang untuk arsitektur hanya berarti x86_64, dan untuk sistem operasi berarti Mac OS X, Windows, dan Linux. Selain itu, gRPC membatasi penggunaan platform dengan pembatasan threading.
Oleh karena itu, hal berikut ini tidak didukung:
Lingkungan berikut harus berfungsi (antara lain):
Pustaka ini menyediakan alat untuk membantu menulis pengujian kode yang menggunakan layanan google-cloud.
Lihat PENGUJIAN untuk membaca lebih lanjut tentang penggunaan pembantu pengujian kami.
Pustaka ini mengikuti Versi Semantik, dengan beberapa kualifikasi tambahan:
Komponen yang ditandai dengan @BetaApi
atau @Experimental
dianggap sebagai fitur "0.x" di dalam pustaka "1.x". Ini berarti mereka dapat mengubah antara rilis minor dan patch dengan cara yang tidak kompatibel. Fitur-fitur ini tidak boleh digunakan oleh perpustakaan "B" mana pun yang memiliki konsumennya, kecuali komponen perpustakaan B yang menggunakan fitur @BetaApi
juga ditandai dengan @BetaApi
. Fitur yang ditandai sebagai @BetaApi
akan menjadi fitur "1.x" jika penandanya dihapus.
Pengecualian khusus untuk google-cloud-java : google-cloud-java diperbolehkan bergantung pada fitur @BetaApi
di gax-java tanpa mendeklarasikan kode yang digunakan @BetaApi
, karena gax-java dan google-cloud-java bergerak sejalan satu sama lain . Oleh karena itu, gax-java tidak boleh digunakan secara terpisah dari google-cloud-java.
Komponen yang ditandai dengan @InternalApi
secara teknis bersifat publik, namun hanya karena keterbatasan pengubah akses Java. Untuk keperluan semver, mereka harus dianggap pribadi.
Antarmuka yang ditandai dengan @InternalExtensionOnly
bersifat publik, namun hanya boleh diimplementasikan oleh kelas internal. Untuk keperluan semver, kami berhak menambahkan antarmuka ini tanpa implementasi default (untuk Java 7).
Harap diperhatikan bahwa klien ini sedang dalam pengembangan aktif. Setiap rilis berversi 0.xy dapat mengalami perubahan yang tidak kompatibel kapan saja.
Perpustakaan yang didefinisikan pada tingkat kualitas Stabil diharapkan stabil dan semua pembaruan di perpustakaan dijamin kompatibel dengan versi sebelumnya. Setiap perubahan yang tidak kompatibel akan menyebabkan kenaikan versi utama (1.xy -> 2.0.0).
Perpustakaan yang ditentukan pada tingkat kualitas Pratinjau masih dalam proses dan lebih mungkin mendapatkan pembaruan yang tidak kompatibel. Selain itu, pustaka Pratinjau mungkin tidak digunakan lagi dan dihapus sebelum dipromosikan ke Pratinjau atau Stabil.
Jika Anda menggunakan IntelliJ atau Eclipse, Anda dapat menambahkan perpustakaan klien ke proyek Anda menggunakan plugin IDE berikut:
Selain menambahkan pustaka klien, plugin menyediakan fungsionalitas tambahan, seperti manajemen kunci akun layanan. Lihat dokumentasi untuk setiap plugin untuk lebih jelasnya.
Pustaka klien ini dapat digunakan pada standar App Engine untuk runtime Java 8 dan App Engine yang fleksibel (termasuk runtime Compat). Sebagian besar perpustakaan tidak berfungsi pada standar App Engine untuk runtime Java 7. Namun, Datastore, Storage, dan Bigquery seharusnya berfungsi.
Kontribusi pada perpustakaan ini selalu diterima dan sangat dianjurkan.
Lihat dokumentasi CONTRIBUTING google-cloud
dan dokumentasi bersama untuk informasi lebih lanjut tentang cara memulai.
Harap dicatat bahwa proyek ini dirilis dengan Kode Etik Kontributor. Dengan berpartisipasi dalam proyek ini, Anda setuju untuk mematuhi ketentuannya. Lihat Kode Etik untuk informasi lebih lanjut.
Apache 2.0 - Lihat LISENSI untuk informasi lebih lanjut.