Google Cloud Bigtable for PHP
Idiomatic PHP client for Google Cloud Bigtable.
NOTE: This repository is part of Google Cloud PHP. Any support requests, bug reports, or development contributions should be directed to that project.
A high performance NoSQL database service for large analytical and operational workloads.
Installation
To begin, install the preferred dependency manager for PHP, Composer.
Now to install just this component:
$ composer require google/cloud-bigtable
Or to install the entire suite of components at once:
$ composer require google/cloud
This component supports both REST over HTTP/1.1 and gRPC. In order to take advantage of the benefits offered by gRPC (such as streaming methods) please see our gRPC installation guide.
Notable Client Differences
The handwritten client offered by this package differs from the others in google-cloud-php
in that it more directly wraps our generated clients.
This means some of the idioms and configuration options you are used to may differ slightly. The most notable differences are outlined below:
- A key file is now provided through the
credentials
configuration option as opposed to eitherkeyFile
orkeyFilePath
. - There is now more granular control over retry logic. Please see the
bigtable_client_config.json
file for an example of the configuration which can be passed into the client at construction time. - Exceptions triggered at the network level utilize the base class
Google\ApiCore\ApiException
as opposed toGoogle\Cloud\Core\ServiceException
. - The
authHttpHandler
andhttpHandler
client configuration options are now provided through$credentialsConfig['authHttpHandler']
and$transportConfig['httpHandler']
, respectively. Additionally, please note thehttpHandler
should now return an implementation of Guzzle'sPromiseInterface
.
Authentication
Please see our Authentication guide for more information on authenticating your client. Once authenticated, you'll be ready to start making requests.
When going through the authentication guide, please take note that the handwritten client for this package will more closely follow the conventions outlined for the generated clients.
Sample
require 'vendor/autoload.php';
use Google\Cloud\Bigtable\BigtableClient;
$bigtable = new BigtableClient();
$table = $bigtable->table('my-instance', 'my-table');
$rows = $table->readRows();
foreach ($rows as $row) {
print_r($row) . PHP_EOL;
}
Version
This component is considered GA (generally available). As such, it will not introduce backwards-incompatible changes in any minor or patch releases. We will address issues and requests with the highest priority.
Next Steps
Take a look at and understand the official documentation.