Klien PHP idiomatik untuk layanan platform Google Cloud.
| Versi PHP | Status |
|---|---|
Lihat daftar API dan layanan yang didukung.
Jika Anda memerlukan dukungan untuk Google API lainnya, silakan periksa Perpustakaan Klien Google APIS untuk PHP.
Kami sarankan menginstal paket komponen individual. Daftar paket yang tersedia dapat ditemukan di Packagist.
Misalnya:
$ composer require google/cloud-storage
$ composer require google/cloud-bigquery
$ composer require google/cloud-datastore Dalam panduan ini kami akan fokus pada cara mengkonfigurasi klien Anda untuk pengembangan lokal menggunakan Google Cloud CLI ( gcloud ).
gcloud untuk menghasilkan file kredensial.Untuk menghasilkan file kredensial yang dibutuhkan, kami perlu mengautentikasi ke GCloud terlebih dahulu. Instalasi ditangani secara berbeda tergantung pada platform Anda. Berikut adalah tautan untuk membantu Anda mengatur Google Cloud CLI:
https://cloud.google.com/sdk/docs/install
gcloud Setelah alat Google Cloud CLI diinstal, diperlukan agar kami mengotentikasi melalui gcloud :
$ gcloud init
$ gcloud auth application-default loginIni akan membuat file lokal di sistem Anda bahwa pustaka otentikasi untuk klien kami akan membaca untuk membuat permintaan ke API dengan kredensial tersebut. File ini terletak di tempat yang berbeda tergantung pada sistem Anda.
Windows:
%APPDATA%gcloudapplication_default_credentials.json
Linux dan MacOS:
$HOME/.config/gcloud/application_default_credentials.json
Untuk membaca lebih lanjut tentang otentikasi, lihat otentikasi.md
Instal Perpustakaan Klien Terjemahan Google dengan Komposer
composer install google/cloud-translateCatatan : Untuk contoh ini, kami menggunakan perpustakaan klien Google Translate. Periksa daftar paket lengkap untuk menemukan perpustakaan yang Anda butuhkan.
Sekarang kami telah mengotentikasi dan menginstal Perpustakaan Klien, kami dapat membuat instantiasi klien yang akan mendeteksi file JSON yang dibuat oleh GCLOUD CLI dan menggunakannya untuk mengotentikasi permintaan Anda:
require_once ' vendor/autoload.php ' ;
use Google Cloud Translate V3 Client TranslationServiceClient ;
use Google Cloud Translate V3 TranslateTextRequest ;
// Instantiating the client gathers the credentials from the `application_default_credentials.json`
$ client = new TranslationServiceClient ([]);
$ request = new TranslateTextRequest ();
$ request -> setParent ( ' projects/<YOUR_PROJECT_ID> ' );
$ request -> setTargetLanguageCode ( ' en-US ' );
$ request -> setContents ([ 'こんにちは' ]);
// The request will contain the authentication token based on the default credentials file
$ response = $ client -> translateText ( $ request );
var_dump ( $ response -> getTranslations ()[ 0 ]);
// {
// [ "translatedText" ] = >
// string ( 5 ) "Hello"
// [ "detectedLanguageCode" ] = >
// string ( 2 ) "ja"
// }QuickStart ini dibangun dengan mempertimbangkan pengembangan lokal. Langkah -langkah untuk menggunakan proyek Anda berbeda tergantung pada lingkungan yang Anda gunakan. Di sini kami memberikan beberapa instruksi dasar tentang cara memulai penyebaran proyek Anda:
Untuk informasi lebih lanjut tentang mendapatkan kredensial akun layanan, lihat Panduan Otentikasi kami. Atur variabel lingkungan GOOGLE_APPLICATION_CREDENTIALS yang menunjuk ke file kredensial Anda.
Beberapa klien menerima opsi konfigurasi keyFilePath dan keyFile yang menunjuk ke file kredensial:
require ' vendor/autoload.php ' ;
use Google Cloud Storage StorageClient ;
// Authenticate using a keyfile path
$ cloud = new StorageClient ([
' keyFilePath ' => ' path/to/keyfile.json '
]);
// Authenticate using keyfile data
$ cloud = new StorageClient ([
' keyFile ' => json_decode ( file_get_contents ( ' /path/to/keyfile.json ' ), true )
]);Daftar klien yang menerima parameter ini adalah:
Kami sarankan untuk mengunjungi Dokumentasi Klien Periksa untuk Perpustakaan Klien yang Anda gunakan untuk informasi lebih dalam.
Jika Anda tidak ingin menyematkan informasi otentikasi Anda dalam kode aplikasi Anda, Anda juga dapat menggunakan kredensial default aplikasi.
require ' vendor/autoload.php ' ;
use Google Cloud Storage StorageClient ;
putenv ( ' GOOGLE_APPLICATION_CREDENTIALS=/path/to/keyfile.json ' );
$ cloud = new StorageClient (); Variabel lingkungan GOOGLE_APPLICATION_CREDENTIALS dapat diatur dalam konfigurasi server Anda.
Silakan lihat panduan debugging kami untuk informasi lebih lanjut tentang alat debugging.
Banyak klien di Google Cloud PHP menawarkan dukungan untuk GRPC, baik sebagai opsi atau persyaratan. GRPC adalah kerangka kerja RPC berkinerja tinggi yang dibuat oleh Google. Untuk menggunakan GRPC dalam PHP, Anda harus menginstal ekstensi PHP GRPC di server Anda. Meskipun tidak diperlukan, Anda juga disarankan untuk memasang ekstensi protobuf setiap kali menggunakan GRPC dalam produksi.
$ pecl install grpc
$ pecl install protobuf
Secara default perpustakaan akan menggunakan implementasi caching dalam memori sederhana, namun dimungkinkan untuk mengesampingkan perilaku ini dengan meneruskan implementasi caching PSR-6 ke dalam klien yang diinginkan.
Contoh berikut memanfaatkan komponen cache Symfony.
require ' vendor/autoload.php ' ;
use Google Cloud Storage StorageClient ;
use Symfony Component Cache Adapter ArrayAdapter ;
// Please take the proper precautions when storing your access tokens in a cache no matter the implementation .
$ cache = new ArrayAdapter ();
$ storage = new StorageClient ([
' authCache ' => $ cache
]); Perpustakaan ini menyediakan implementasi PSR-6 dengan memori bersama SystemV di GoogleAuthCacheSysVCacheItemPool . Implementasi ini hanya tersedia di mesin *NIX, tetapi ini adalah salah satu implementasi tercepat dan Anda dapat berbagi cache di antara banyak proses. Contoh berikut menunjukkan cara menggunakannya.
require __DIR__ . ' /vendor/autoload.php ' ;
use Google Cloud Spanner SpannerClient ;
use Google Auth Cache SysVCacheItemPool ;
$ cache = new SysVCacheItemPool ();
$ spanner = new SpannerClient ([
' authCache ' => $ cache
]);Semua perpustakaan klien mendukung Php 8.0 dan di atas.
Perpustakaan ini mengikuti versi semantik.
Harap dicatat saat ini sedang dalam pengembangan aktif. Rilis apa pun yang di versi 0.xy akan mengalami perubahan yang tidak kompatibel setiap saat.
GA : Perpustakaan yang didefinisikan pada tingkat kualitas GA stabil, dan tidak akan memperkenalkan perubahan yang tidak kompatibel dengan mundur dalam rilis kecil atau tambalan. Kami akan mengatasi masalah dan permintaan dengan prioritas tertinggi. Harap dicatat, untuk setiap komponen yang mencakup klien yang dihasilkan, jaminan GA hanya akan berlaku untuk klien yang berinteraksi dengan layanan yang stabil. Misalnya, dalam komponen yang meng -host V1 dan V1Beta1 menghasilkan klien, jaminan GA hanya akan berlaku untuk klien V1 karena layanan yang berinteraksi dengannya dianggap stabil.
Beta : Perpustakaan yang ditentukan pada tingkat kualitas beta diharapkan sebagian besar stabil dan kami sedang berupaya menuju kandidat rilis mereka. Kami akan mengatasi masalah dan permintaan dengan prioritas yang lebih tinggi.
Kontribusi untuk perpustakaan ini selalu diterima dan sangat dianjurkan.
Lihat berkontribusi untuk informasi lebih lanjut tentang cara memulai.
Repositori ini bukan saluran dukungan resmi. Jika Anda memiliki pertanyaan dukungan, mengajukan permintaan dukungan melalui saluran dukungan Google normal, atau memposting pertanyaan di forum seperti StackOverflow.
Apache 2.0 - Lihat lisensi untuk informasi lebih lanjut.