Google Cloud Platform Servicesの慣用PHPクライアント。
| PHPバージョン | 状態 |
|---|---|
サポートされているAPIとサービスのリストを表示します。
他のGoogle APIのサポートが必要な場合は、PHPのGoogle APISクライアントライブラリをご覧ください。
個々のコンポーネントパッケージをインストールすることをお勧めします。利用可能なパッケージのリストは、Packagistにあります。
例えば:
$ composer require google/cloud-storage
$ composer require google/cloud-bigquery
$ composer require google/cloud-datastoreこのガイドでは、Google Cloud CLI( gcloud )を使用して、ローカル開発用にクライアントを構成する方法に焦点を当てます。
gcloudで認証して、資格情報ファイルを生成します。必要な資格情報ファイルを生成するには、最初にGCloudに認証する必要があります。インストールは、プラットフォームに応じて異なる方法で処理されます。 Google Cloud CLIをセットアップするのに役立つリンクは次のとおりです。
https://cloud.google.com/sdk/docs/install
gcloudコマンドを介して認証しますGoogle Cloud CLIツールがインストールされたら、 gcloudを介して認証する必要があります。
$ gcloud init
$ gcloud auth application-default loginこれにより、クライアント用の認証ライブラリが読み取り、それらの資格情報を使用してAPIにリクエストを行うために、システム内にローカルファイルが作成されます。このファイルは、システムに応じて異なる場所にあります。
Windows:
%APPDATA%gcloudapplication_default_credentials.json
LinuxとMacOS:
$HOME/.config/gcloud/application_default_credentials.json
認証の詳細については、authentication.mdを参照してください
Google Translateクライアントライブラリを作曲家にインストールします
composer install google/cloud-translate注:この例では、Google Translateクライアントライブラリを使用しています。必要なライブラリを見つけるには、パッケージの完全なリストを確認してください。
クライアントライブラリを認証およびインストールしたので、GCLoud CLIによって作成されたJSONファイルを検出し、それを使用してリクエストを認証するクライアントをインスタンス化できます。
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"
// }このクイックスタートは、現地の開発を念頭に置いて構築されています。プロジェクトを展開するための手順は、使用する環境によって異なります。ここでは、プロジェクトの展開を開始する方法に関する基本的な指示を提供します。
サービスアカウントの資格情報の取得の詳細については、認証ガイドを参照してください。 GOOGLE_APPLICATION_CREDENTIALS環境変数を設定して、資格情報ファイルを指します。
一部のクライアントは、資格情報ファイルを指すkeyFilePathおよびkeyFile構成オプションを受け入れます。
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 )
]);これらのパラメーターを受け入れるクライアントのリストは次のとおりです。
詳細な情報のために使用しているクライアントライブラリのCheck Client Documentationにアクセスすることをお勧めします。
アプリケーションコードに認証情報を埋めたくない場合は、アプリケーションのデフォルトの資格情報を使用することもできます。
require ' vendor/autoload.php ' ;
use Google Cloud Storage StorageClient ;
putenv ( ' GOOGLE_APPLICATION_CREDENTIALS=/path/to/keyfile.json ' );
$ cloud = new StorageClient (); GOOGLE_APPLICATION_CREDENTIALS環境変数は、サーバー構成で設定される場合があります。
デバッグツールの詳細については、デバッグガイドをご覧ください。
Google Cloud PHPの多くのクライアントは、オプションまたは要件として、GRPCのサポートを提供しています。 GRPCは、Googleが作成した高性能RPCフレームワークです。 PHPでGRPCを使用するには、サーバーにGRPC PHP拡張機能をインストールする必要があります。必須ではありませんが、生産でGRPCを使用するたびにProtoBUF拡張機能をインストールすることもお勧めします。
$ pecl install grpc
$ pecl install protobuf
デフォルトでは、ライブラリは簡単なインメモリキャッシングの実装を使用しますが、PSR-6キャッシングの実装を目的のクライアントに渡すことにより、この動作をオーバーライドすることができます。
次の例では、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
]);このライブラリはGoogleAuthCacheSysVCacheItemPoolでSystemV共有メモリを使用したPSR-6の実装を提供します。この実装は *nixマシンでのみ利用可能ですが、これは最速の実装の1つであり、複数のプロセス間でキャッシュを共有できます。次の例は、それを使用する方法を示しています。
require __DIR__ . ' /vendor/autoload.php ' ;
use Google Cloud Spanner SpannerClient ;
use Google Auth Cache SysVCacheItemPool ;
$ cache = new SysVCacheItemPool ();
$ spanner = new SpannerClient ([
' authCache ' => $ cache
]);すべてのクライアントライブラリは、PHP 8.0以上をサポートしています。
このライブラリはセマンティックバージョンに従います。
現在、アクティブな開発中です。リリースバージョン0.xyは、いつでも逆互換性のない変更の対象となります。
GA :GAの品質レベルで定義されたライブラリは安定しており、マイナーまたはパッチリリースに逆方向に不可能な変更を導入しません。最優先事項で問題やリクエストに対処します。生成されたクライアントを含むすべてのコンポーネントについては、GA保証は安定したサービスと対話するクライアントにのみ適用されます。たとえば、V1およびV1BETA1が生成したクライアントをホストするコンポーネントでは、GA保証はV1クライアントにのみ適用され、対話するサービスが安定していると見なされます。
ベータ:ベータ品質レベルで定義されているライブラリは、ほとんどが安定していると予想されており、リリース候補に取り組んでいます。より高い優先順位で問題やリクエストに対処します。
このライブラリへの貢献はいつでも歓迎され、強く奨励されています。
開始方法の詳細については、貢献を参照してください。
このリポジトリは公式のサポートチャネルではありません。サポートの質問がある場合は、通常のGoogleサポートチャネルを介してサポートリクエストを提出するか、StackOverFlowなどのフォーラムに質問を投稿してください。
Apache 2.0-詳細については、ライセンスを参照してください。