iadj/gcloud
Composer 安装命令:
composer require iadj/gcloud
包简介
Google Cloud Client Library that doesn't conflict against google/apiclient
关键字:
README 文档
README
Idiomatic PHP client for Google Cloud Platform services.
This client supports the following Google Cloud Platform services at a General Availability quality level:
- Google Stackdriver Logging (GA)
- Google Cloud Datastore (GA)
- Google Cloud Storage (GA)
- Google Cloud Translation (GA)
This client supports the following Google Cloud Platform services at a Beta quality level:
- Google BigQuery (Beta)
- Google Cloud Natural Language (Beta)
- Google Cloud Pub/Sub (Beta)
- Google Cloud Vision (Beta)
This client supports the following Google Cloud Platform services at an Alpha quality level:
- Cloud Spanner (Alpha)
- Google Cloud Speech (Alpha)
- Google Cloud Video Intelligence (Alpha)
- Google Stackdriver Trace (Alpha)
If you need support for other Google APIs, please check out the Google APIs Client Library for PHP.
Quick Start
$ composer require google/cloud
Google Stackdriver Logging (GA)
Preview
require 'vendor/autoload.php'; use Google\Cloud\Logging\LoggingClient; $logging = new LoggingClient([ 'projectId' => 'my_project' ]); // Get a logger instance. $logger = $logging->logger('my_log'); // Write a log entry. $logger->write('my message'); // List log entries from a specific log. $entries = $logging->entries([ 'filter' => 'logName = projects/my_project/logs/my_log' ]); foreach ($entries as $entry) { echo $entry->info()['textPayload'] . "\n"; }
google/cloud-logging
Google Stackdriver Logging can be installed separately by requiring the google/cloud-logging composer package:
$ require google/cloud-logging
Google Cloud Datastore (GA)
Preview
require 'vendor/autoload.php'; use Google\Cloud\Datastore\DatastoreClient; $datastore = new DatastoreClient([ 'projectId' => 'my_project' ]); // Create an entity $bob = $datastore->entity('Person'); $bob['firstName'] = 'Bob'; $bob['email'] = 'bob@example.com'; $datastore->insert($bob); // Update the entity $bob['email'] = 'bobV2@example.com'; $datastore->update($bob); // If you know the ID of the entity, you can look it up $key = $datastore->key('Person', '12345328897844'); $entity = $datastore->lookup($key);
google/cloud-datastore
Google Cloud Datastore can be installed separately by requiring the google/cloud-datastore composer package:
$ require google/cloud-datastore
Google Cloud Storage (GA)
Preview
require 'vendor/autoload.php'; use Google\Cloud\Storage\StorageClient; $storage = new StorageClient([ 'projectId' => 'my_project' ]); $bucket = $storage->bucket('my_bucket'); // Upload a file to the bucket. $bucket->upload( fopen('/data/file.txt', 'r') ); // Using Predefined ACLs to manage object permissions, you may // upload a file and give read access to anyone with the URL. $bucket->upload( fopen('/data/file.txt', 'r'), [ 'predefinedAcl' => 'publicRead' ] ); // Download and store an object from the bucket locally. $object = $bucket->object('file_backup.txt'); $object->downloadToFile('/data/file_backup.txt');
Stream Wrapper
require 'vendor/autoload.php'; use Google\Cloud\Storage\StorageClient; $storage = new StorageClient([ 'projectId' => 'my_project' ]); $storage->registerStreamWrapper(); $contents = file_get_contents('gs://my_bucket/file_backup.txt');
google/cloud-storage
Google Cloud Storage can be installed separately by requiring the google/cloud-storage composer package:
$ require google/cloud-storage
Google Cloud Translation (GA)
Preview
require 'vendor/autoload.php'; use Google\Cloud\Translate\TranslateClient; $translate = new TranslateClient([ 'key' => 'your_key' ]); // Translate text from english to french. $result = $translate->translate('Hello world!', [ 'target' => 'fr' ]); echo $result['text'] . "\n"; // Detect the language of a string. $result = $translate->detectLanguage('Greetings from Michigan!'); echo $result['languageCode'] . "\n"; // Get the languages supported for translation specifically for your target language. $languages = $translate->localizedLanguages([ 'target' => 'en' ]); foreach ($languages as $language) { echo $language['name'] . "\n"; echo $language['code'] . "\n"; } // Get all languages supported for translation. $languages = $translate->languages(); foreach ($languages as $language) { echo $language . "\n"; }
google/cloud-translate
Google Cloud Translation can be installed separately by requiring the google/cloud-translate composer package:
$ require google/cloud-translate
Google BigQuery (Beta)
Preview
require 'vendor/autoload.php'; use Google\Cloud\BigQuery\BigQueryClient; $bigQuery = new BigQueryClient([ 'projectId' => 'my_project' ]); // Get an instance of a previously created table. $dataset = $bigQuery->dataset('my_dataset'); $table = $dataset->table('my_table'); // Begin a job to import data from a CSV file into the table. $job = $table->load( fopen('/data/my_data.csv', 'r') ); // Run a query and inspect the results. $queryResults = $bigQuery->runQuery('SELECT * FROM [my_project:my_dataset.my_table]'); foreach ($queryResults->rows() as $row) { print_r($row); }
google/cloud-bigquery
Google BigQuery can be installed separately by requiring the google/cloud-bigquery composer package:
$ require google/cloud-bigquery
Google Cloud Natural Language (Beta)
Preview
require 'vendor/autoload.php'; use Google\Cloud\Language\LanguageClient; $language = new LanguageClient([ 'projectId' => 'my_project' ]); // Analyze a sentence. $annotation = $language->annotateText('Greetings from Michigan!'); // Check the sentiment. if ($annotation->sentiment() > 0) { echo "This is a positive message.\n"; } // Detect entities. $entities = $annotation->entitiesByType('LOCATION'); foreach ($entities as $entity) { echo $entity['name'] . "\n"; } // Parse the syntax. $tokens = $annotation->tokensByTag('NOUN'); foreach ($tokens as $token) { echo $token['text']['content'] . "\n"; }
google/cloud-language
Google Cloud Natural Language can be installed separately by requiring the google/cloud-language composer package:
$ require google/cloud-language
Google Cloud Pub/Sub (Beta)
Preview
require 'vendor/autoload.php'; use Google\Cloud\PubSub\PubSubClient; $pubSub = new PubSubClient([ 'projectId' => 'my_project' ]); // Get an instance of a previously created topic. $topic = $pubSub->topic('my_topic'); // Publish a message to the topic. $topic->publish([ 'data' => 'My new message.', 'attributes' => [ 'location' => 'Detroit' ] ]); // Get an instance of a previously created subscription. $subscription = $pubSub->subscription('my_subscription'); // Pull all available messages. $messages = $subscription->pull(); foreach ($messages as $message) { echo $message->data() . "\n"; echo $message->attribute('location'); }
google/cloud-pubsub
Google Cloud Pub/Sub can be installed separately by requiring the google/cloud-pubsub composer package:
$ require google/cloud-pubsub
Google Cloud Vision (Beta)
Preview
require 'vendor/autoload.php'; use Google\Cloud\Vision\VisionClient; $vision = new VisionClient([ 'projectId' => 'my_project' ]); // Annotate an image, detecting faces. $image = $vision->image( fopen('/data/family_photo.jpg', 'r'), ['faces'] ); $annotation = $vision->annotate($image); // Determine if the detected faces have headwear. foreach ($annotation->faces() as $key => $face) { if ($face->hasHeadwear()) { echo "Face $key has headwear.\n"; } }
google/cloud-vision
Google Cloud Vision can be installed separately by requiring the google/cloud-vision composer package:
$ require google/cloud-vision
Cloud Spanner (Alpha)
Preview
require 'vendor/autoload.php'; use Google\Cloud\Spanner\SpannerClient; $spanner = new SpannerClient([ 'projectId' => 'my_project' ]); $db = $spanner->connect('my-instance', 'my-database'); $userQuery = $db->execute('SELECT * FROM Users WHERE id = @id', [ 'parameters' => [ 'id' => $userId ] ]); $user = $userQuery->rows()->current(); echo 'Hello ' . $user['firstName'];
google/cloud-spanner
Cloud Spanner can be installed separately by requiring the google/cloud-spanner composer package:
$ require google/cloud-spanner
Google Cloud Speech (Alpha)
Preview
require 'vendor/autoload.php'; use Google\Cloud\Speech\SpeechClient; $speech = new SpeechClient([ 'projectId' => 'my_project', 'languageCode' => 'en-US' ]); // Recognize the speech in an audio file. $results = $speech->recognize( fopen(__DIR__ . '/audio_sample.flac', 'r') ); foreach ($results as $result) { echo $result->topAlternative()['transcript'] . "\n"; }
google/cloud-speech
Google Cloud Speech can be installed separately by requiring the google/cloud-speech composer package:
$ require google/cloud-speech
Google Cloud Video Intelligence (Alpha)
Preview
require __DIR__ . '/vendor/autoload.php'; use Google\Cloud\VideoIntelligence\V1beta1\VideoIntelligenceServiceClient; use google\cloud\videointelligence\v1beta1\Feature; $client = new VideoIntelligenceServiceClient(); $inputUri = "gs://example-bucket/example-video.mp4"; $features = [ Feature::LABEL_DETECTION, ]; $operationResponse = $client->annotateVideo($inputUri, $features); $operationResponse->pollUntilComplete(); if ($operationResponse->operationSucceeded()) { $results = $operationResponse->getResult(); foreach ($results->getAnnotationResultsList() as $result) { foreach ($result->getLabelAnnotationsList() as $labelAnnotation) { echo "Label: " . $labelAnnotation->getDescription() . "\n"; } } } else { $error = $operationResponse->getError(); echo "error: " . $error->getMessage() . "\n"; }
google/cloud-videointelligence
Cloud Video Intelligence can be installed separately by requiring the google/cloud-videointelligence composer package:
$ require google/cloud-videointelligence
Google Stackdriver Trace (Alpha)
Preview
require 'vendor/autoload.php'; use Google\Cloud\Trace\TraceClient; $traceClient = new TraceClient([ 'projectId' => 'my_project' ]); // Create a Trace $trace = $traceClient->trace(); $span = $trace->span([ 'name' => 'main' ]); $span->setStart(); $span->setEnd(); $trace->setSpans([$span]); $traceClient->insert($trace); // List recent Traces foreach($traceClient->traces() as $trace) { var_dump($trace->traceId()); }
google/cloud-trace
Stackdriver Trace can be installed separately by requiring the google/cloud-trace composer package:
$ require google/cloud-trace
Caching Access Tokens
By default the library will use a simple in-memory caching implementation, however it is possible to override this behavior by passing a PSR-6 caching implementation in to the desired client.
The following example takes advantage of Symfony's Cache Component.
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 ]);
Versioning
This library follows Semantic Versioning.
Please note it is currently under active development. Any release versioned 0.x.y is subject to backwards incompatible changes at any time.
GA: Libraries defined at a GA quality level are stable, and will not introduce backwards-incompatible changes in any minor or patch releases. We will address issues and requests with the highest priority.
Beta: Libraries defined at a Beta quality level are expected to be mostly stable and we're working towards their release candidate. We will address issues and requests with a higher priority.
Alpha: Libraries defined at an Alpha quality level are still a work-in-progress and are more likely to get backwards-incompatible updates.
Contributing
Contributions to this library are always welcome and highly encouraged.
See CONTRIBUTING for more information on how to get started.
License
Apache 2.0 - See LICENSE for more information.
统计信息
- 总下载量: 22
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 0
- 点击次数: 1
- 依赖项目数: 0
- 推荐数: 0
其他信息
- 授权协议: Apache-2.0
- 更新时间: 2017-07-05