Google Cloud 플랫폼 서비스를위한 관용 PHP 클라이언트.
| PHP 버전 | 상태 |
|---|---|
지원되는 API 및 서비스 목록을보십시오.
다른 Google API에 대한 지원이 필요한 경우 PHP 용 Google API 클라이언트 라이브러리를 확인하십시오.
개별 구성 요소 패키지를 설치하는 것이 좋습니다. 사용 가능한 패키지 목록은 Packagist에서 찾을 수 있습니다.
예를 들어:
$ composer require google/cloud-storage
$ composer require google/cloud-bigquery
$ composer require google/cloud-datastore 이 안내서에서는 Google Cloud ( 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 Client Library를 설치하십시오
composer install google/cloud-translate참고 :이 예에서는 Google Translate Client Library를 사용하고 있습니다. 필요한 라이브러리를 찾으려면 전체 패키지 목록을 확인하십시오.
클라이언트 라이브러리를 인증하고 설치 했으므로 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 )
]);이러한 매개 변수를 수락하는 클라이언트 목록은 다음과 같습니다.
더 깊이있는 정보를 위해 사용중인 클라이언트 라이브러리에 대한 클라이언트 문서 확인을 방문하는 것이 좋습니다.
응용 프로그램 코드에 인증 정보를 포함시키지 않으려면 응용 프로그램 기본 자격 증명을 사용할 수도 있습니다.
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를 사용할 때마다 프로토 비프 확장을 설치하는 것이 좋습니다.
$ 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 구현을 제공합니다. 이 구현은 *닉스 머신에서만 사용할 수 있지만 가장 빠른 구현 중 하나이며 여러 프로세스에서 캐시를 공유 할 수 있습니다. 다음 예는 사용 방법을 보여줍니다.
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- 자세한 내용은 라이센스를 참조하십시오.