Cliente PHP idiomático para servicios de plataforma en la nube de Google.
| Versión php | Estado |
|---|---|
Vea la lista de API y servicios compatibles.
Si necesita soporte para otras API de Google, consulte la biblioteca de clientes de Google API para PHP.
Recomendamos instalar paquetes de componentes individuales. Se puede encontrar una lista de paquetes disponibles en Packagist.
Por ejemplo:
$ composer require google/cloud-storage
$ composer require google/cloud-bigquery
$ composer require google/cloud-datastore En esta guía, nos centraremos en cómo configurar su cliente para el desarrollo local utilizando Google Cloud CLI ( gcloud ).
gcloud para generar el archivo de credenciales.Para generar nuestro archivo de credenciales necesarios, primero debemos autenticar en GCLOUD. La instalación se maneja de manera diferente dependiendo de su plataforma. Aquí hay un enlace para ayudarlo a configurar la CLI de Google Cloud:
https://cloud.google.com/sdk/docs/install
gcloud Una vez que se instalan las herramientas de Google Cloud CLI, se requiere que nos autenticemos a través de gcloud :
$ gcloud init
$ gcloud auth application-default loginEsto creará un archivo local en su sistema que la biblioteca de autenticación para nuestro cliente leerá para realizar solicitudes a las API con esas credenciales. Este archivo se encuentra en diferentes lugares según su sistema.
Windows:
%APPDATA%gcloudapplication_default_credentials.json
Linux y macOS:
$HOME/.config/gcloud/application_default_credentials.json
Para leer más sobre la autenticación, ver Authentication.md
Instale la biblioteca de clientes de Google Translate con el compositor
composer install google/cloud-translateNota : Para este ejemplo, estamos utilizando la biblioteca de clientes de Google Translate. Verifique la lista completa de paquetes para encontrar su biblioteca requerida.
Ahora que hemos autenticado e instalado la biblioteca de clientes, podemos instanciar a un cliente que detectará el archivo JSON creado por la CLI GCLOUD y lo usará para autenticar sus solicitudes:
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 comienzo rápido está construido con el desarrollo local en mente. Los pasos para implementar su proyecto son diferentes dependiendo del entorno que use. Aquí proporcionamos algunas instrucciones básicas sobre cómo comenzar con la implementación de su proyecto:
Para obtener más información sobre la obtención de credenciales de cuenta de servicio, consulte nuestra Guía de autenticación. Establezca la variable de entorno GOOGLE_APPLICATION_CREDENTIALS que apunta a su archivo de credenciales.
Algunos clientes aceptan las opciones de configuración keyFilePath y keyFile que apuntan al archivo de credenciales:
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 )
]);Una lista de clientes que aceptan estos parámetros son:
Recomendamos visitar la documentación del cliente para la biblioteca del cliente que está utilizando para obtener más información en profundidad.
Si no desea integrar su información de autenticación en su código de aplicación, también puede utilizar las credenciales predeterminadas de la aplicación.
require ' vendor/autoload.php ' ;
use Google Cloud Storage StorageClient ;
putenv ( ' GOOGLE_APPLICATION_CREDENTIALS=/path/to/keyfile.json ' );
$ cloud = new StorageClient (); La variable de entorno GOOGLE_APPLICATION_CREDENTIALS se puede configurar en la configuración de su servidor.
Consulte nuestra guía de depuración para obtener más información sobre las herramientas de depuración.
Muchos clientes en Google Cloud PHP ofrecen soporte para GRPC, ya sea como opción o requisito. GRPC es un marco RPC de alto rendimiento creado por Google. Para usar GRPC en PHP, debe instalar la extensión de GRPC PHP en su servidor. Si bien no es necesario, también se recomienda que instale la extensión ProtoBuf siempre que use GRPC en producción.
$ pecl install grpc
$ pecl install protobuf
De forma predeterminada, la biblioteca utilizará una implementación de almacenamiento en caché simple en memoria, sin embargo, es posible anular este comportamiento al pasar una implementación de caché de PSR-6 al cliente deseado.
El siguiente ejemplo aprovecha el componente de caché de 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 proporciona una implementación de PSR-6 con la memoria compartida SystemV en GoogleAuthCacheSysVCacheItemPool . Esta implementación solo está disponible en máquinas *nix, pero es la de las implementaciones más rápidas y puede compartir el caché entre múltiples procesos. El siguiente ejemplo muestra cómo usarlo.
require __DIR__ . ' /vendor/autoload.php ' ;
use Google Cloud Spanner SpannerClient ;
use Google Auth Cache SysVCacheItemPool ;
$ cache = new SysVCacheItemPool ();
$ spanner = new SpannerClient ([
' authCache ' => $ cache
]);Todas las bibliotecas de clientes admiten PHP 8.0 y superior.
Esta biblioteca sigue el versículo semántico.
Tenga en cuenta que actualmente está en desarrollo activo. Cualquier lanzamiento versioned 0.xy está sujeto a cambios incompatibles hacia atrás en cualquier momento.
GA : Las bibliotecas definidas a un nivel de calidad de GA son estables y no introducirán cambios en el revés en ningún tipo de comunicado menor o de parche. Abordaremos problemas y solicitudes con la más alta prioridad. Tenga en cuenta que para cualquier componente que incluya clientes generados, la garantía de GA solo se aplicará a los clientes que interactúan con los servicios estables. Por ejemplo, en un componente que aloja a los clientes generados por V1 y V1BETA1, la garantía de GA solo se aplicará al cliente V1 como el servicio con el que interactúa se considera estable.
Beta : se espera que las bibliotecas definidas a un nivel de calidad beta sean mayormente estables y estamos trabajando para su candidato de liberación. Abordaremos problemas y solicitudes con una prioridad más alta.
Las contribuciones a esta biblioteca siempre son bienvenidas y muy alentadas.
Consulte contribuir para obtener más información sobre cómo comenzar.
Este repositorio no es un canal de soporte oficial. Si tiene preguntas de soporte, presente una solicitud de soporte a través de los canales normales de soporte de Google o publique preguntas en un foro como StackOverflow.
Apache 2.0 - Consulte la licencia para obtener más información.