IDIOMATIC PHP Клиент для Google Cloud Platform Services.
| PHP версия | Статус |
|---|---|
Посмотреть список поддерживаемых API и услуг.
Если вам нужна поддержка других API Google, пожалуйста, ознакомьтесь с клиентской библиотекой Google APIS для PHP.
Мы рекомендуем установить отдельные компонентные пакеты. Список доступных пакетов можно найти на Packagist.
Например:
$ composer require google/cloud-storage
$ composer require google/cloud-bigquery
$ composer require google/cloud-datastore В этом руководстве мы сосредоточимся на том, как настроить ваш клиент для локальной разработки, используя Google Cloud CLI ( gcloud ).
gcloud для генерации файла учетных данных.Чтобы сгенерировать наш необходимый файл учетных данных, мы должны сначала аутентифицировать подлинность в GCLOUD. Установка обрабатывается по -разному в зависимости от вашей платформы. Вот ссылка, которая поможет вам настроить CLI 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. Проверьте полный список пакетов, чтобы найти необходимую библиотеку.
Теперь, когда мы аутентифицировали и установили клиентскую библиотеку, мы можем создать экземпляр клиента, который обнаружит файл JSON, созданный GCLOUD CLI, и использовать его для аутентификации ваших запросов:
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 построен с учетом местного развития. Шаги по развертыванию вашего проекта различны в зависимости от среды, которую вы используете. Здесь мы даем некоторые базовые инструкции о том, как начать работу с развертыванием вашего проекта:
Для получения дополнительной информации о получении учетных данных Сервиса см. Наше руководство по аутентификации. Установите переменную среды 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 )
]);Список клиентов, которые принимают эти параметры:
Мы рекомендуем посетить документацию по проверке клиентской документации для клиентской библиотеки, которую вы используете для более глубокой информации.
Если вы не хотите встраивать информацию о аутентификации в код приложения, вы также можете использовать учетные данные по умолчанию приложения.
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-это высокопроизводительная платформа RPC, созданная Google. Чтобы использовать GRPC в PHP, вы должны установить расширение PHP GRPC на вашем сервере. Хотя это и не требуется, также рекомендуется установить расширение ProtoBuf при использовании GRPC в производстве.
$ 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
]); Эта библиотека предоставляет реализацию PSR-6 с общей памятью SystemV в GoogleAuthCacheSysVCacheItemPool . Эта реализация доступна только на *Nix Machines, но это одна из самых быстрых реализаций, и вы можете поделиться кэшем между несколькими процессами. В следующем примере показано, как его использовать.
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 - См. Лицензию для получения дополнительной информации.