Cliente PHP idiomático para serviços de plataforma do Google Cloud.
| Versão php | Status |
|---|---|
Veja a lista de APIs e serviços suportados.
Se você precisar de suporte para outras APIs do Google, consulte a biblioteca do cliente do Google APIs para PHP.
Recomendamos a instalação de pacotes de componentes individuais. Uma lista de pacotes disponíveis pode ser encontrada no Packagist.
Por exemplo:
$ composer require google/cloud-storage
$ composer require google/cloud-bigquery
$ composer require google/cloud-datastore Neste guia, nos concentraremos em como configurar seu cliente para o desenvolvimento local usando o Google Cloud CLI ( gcloud ).
gcloud para gerar o arquivo de credenciais.Para gerar nosso arquivo de credenciais necessários, precisamos autenticar primeiro para o GCloud. A instalação é tratada de maneira diferente, dependendo da sua plataforma. Aqui está um link para ajudá -lo a configurar a cli do Google Cloud:
https://cloud.google.com/sdk/docs/install
gcloud Depois que as ferramentas do Google Cloud CLI estiverem instaladas, é necessário que se autentiquemos através do gcloud :
$ gcloud init
$ gcloud auth application-default loginIsso criará um arquivo local em seu sistema que a biblioteca de autenticação do nosso cliente lerá para fazer solicitações para as APIs com essas credenciais. Este arquivo está localizado em um local diferente, dependendo do seu sistema.
Windows:
%APPDATA%gcloudapplication_default_credentials.json
Linux e MacOS:
$HOME/.config/gcloud/application_default_credentials.json
Para ler mais sobre autenticação, consulte Authentication.md
Instale a biblioteca de clientes do Google Translate com compositor
composer install google/cloud-translateNOTA : Para este exemplo, estamos usando a biblioteca de clientes do Google Translate. Verifique a lista completa de pacotes para encontrar a biblioteca necessária.
Agora que autenticamos e instalamos a biblioteca do cliente, podemos instanciar um cliente que detectará o arquivo JSON criado pela GCLOUD CLI e usá -lo para autenticar suas solicitações:
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"
// }Este Quickstart é construído com o desenvolvimento local em mente. As etapas para implantar seu projeto são diferentes, dependendo do ambiente que você usa. Aqui, fornecemos algumas instruções básicas sobre como começar a implantação do seu projeto:
Para obter mais informações sobre a obtenção de credenciais da conta de serviço, consulte nosso Guia de autenticação. Defina a variável de ambiente GOOGLE_APPLICATION_CREDENTIALS apontando para o seu arquivo de credenciais.
Alguns clientes aceitam as opções de configuração keyFilePath e keyFile , apontando para o arquivo de credenciais:
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 )
]);Uma lista de clientes que aceitam esses parâmetros são:
Recomendamos visitar a verificação da documentação do cliente para a biblioteca do cliente que você está usando para obter mais informações detalhadas.
Se você não deseja incorporar suas informações de autenticação no código do seu aplicativo, também poderá usar as credenciais padrão do aplicativo.
require ' vendor/autoload.php ' ;
use Google Cloud Storage StorageClient ;
putenv ( ' GOOGLE_APPLICATION_CREDENTIALS=/path/to/keyfile.json ' );
$ cloud = new StorageClient (); A variável de ambiente GOOGLE_APPLICATION_CREDENTIALS pode ser definida na configuração do seu servidor.
Consulte nosso Guia de depuração para obter mais informações sobre as ferramentas de depuração.
Muitos clientes do Google Cloud PHP oferecem suporte ao GRPC, como uma opção ou um requisito. O GRPC é uma estrutura de RPC de alto desempenho criada pelo Google. Para usar o GRPC no PHP, você deve instalar a extensão GRPC PHP no seu servidor. Embora não seja necessário, também é recomendável que você instale a extensão do Protobuf sempre que o uso do GRPC na produção.
$ pecl install grpc
$ pecl install protobuf
Por padrão, a biblioteca usará uma implementação simples de cache na memória, no entanto, é possível substituir esse comportamento passando uma implementação de cache do PSR-6 para o cliente desejado.
O exemplo a seguir aproveita o componente de cache da 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
]); Esta biblioteca fornece uma implementação do PSR-6 com a memória compartilhada do Systemv no GoogleAuthCacheSysVCacheItemPool . Essa implementação está disponível apenas nas máquinas *Nix, mas é uma das implementações mais rápidas e você pode compartilhar o cache entre vários processos. O exemplo a seguir mostra como usá -lo.
require __DIR__ . ' /vendor/autoload.php ' ;
use Google Cloud Spanner SpannerClient ;
use Google Auth Cache SysVCacheItemPool ;
$ cache = new SysVCacheItemPool ();
$ spanner = new SpannerClient ([
' authCache ' => $ cache
]);Todas as bibliotecas de clientes suportam o PHP 8.0 e acima.
Esta biblioteca segue a versão semântica.
Observe que está atualmente em desenvolvimento ativo. Qualquer versão de lançamento 0.xy está sujeita a alterações incompatíveis com versões anteriores a qualquer momento.
GA : As bibliotecas definidas em um nível de qualidade do GA são estáveis e não introduzirão alterações incompatíveis com antecedentes em nenhum lançamento menor ou de patch. Abordaremos questões e solicitações com a maior prioridade. Observe que, para quaisquer componentes que incluam clientes gerados, a garantia do GA se aplicará apenas aos clientes que interagem com serviços estáveis. Por exemplo, em um componente que hospeda clientes gerados por V1 e V1beta1, a garantia do GA se aplicará apenas ao cliente V1, pois o serviço com o qual interage é considerado estável.
Beta : Espera -se que as bibliotecas definidas em um nível de qualidade beta sejam estáveis e estamos trabalhando para o candidato de lançamento. Abordaremos questões e solicitações com uma prioridade mais alta.
As contribuições para esta biblioteca são sempre bem -vindas e altamente encorajadas.
Consulte Contribuindo para obter mais informações sobre como começar.
Este repositório não é um canal de suporte oficial. Se você tiver perguntas de suporte, registre uma solicitação de suporte através dos canais normais de suporte do Google ou publique perguntas em um fórum como o StackOverflow.
Apache 2.0 - Consulte Licença para obter mais informações.