0

Currently I am using google app engine for my php project. I decided to migrate my project to Google Compute Engine, but i could not connect to Google Cloud Storage through php. Is there anyway to work around this issue?

Update:

I found that it is achievable and i need some example of using Server API to grab the storage content. This is what i did.

require_once 'GoogleAPI/autoload.php';
$projectId = "dummyid";
$client = new Google_Client();
$client->setApplicationName("Gave");
$client->setDeveloperKey("SERVERKEY");
$client->addScope(Google_Service_Storage::DEVSTORAGE_FULL_CONTROL);

$storage = new Google_Service_Storage($client);
$buckets = $storage->buckets->listBuckets($projectId);
foreach ($buckets['items'] as $bucket) {
   printf("%s\n", $bucket->getName());
}

But it still doesnt work. Does server key has limited to access some control ? It gives me an error 500.

1 Answers1

1

You can certainly use Google Cloud Storage (GCS) from Google Compute Engine (GCE). You'll find it's one of the very fastest ways to access GCS. You cannot, however, access GCS using the same App Engine PHP libraries when you're not using App Engine.

The canonical client library for using PHP from environments other than AppEngineis Google APIs Client Library for PHP. You can find demonstrations and tutorials on accessing GCS with that library here: https://cloud.google.com/storage/docs/json_api/v1/json-api-php-samples

As a second option, the new gcloud-php project has basic support for GCS.

Finally, as a third option, the public APIs for accessing GCS directly with HTTP requests are well documented and work very well from GCE.

Brandon Yarbrough
  • 37,021
  • 23
  • 116
  • 145
  • Yes, currently i am looking at this example. Thanks for letting me know GCS works well with GCE also. But currently i am quite confused on something. It requires me to key in define('DEFAULT_OBJECT', 'DEFAULT_OBJECT'); What is the object value? i tried a lot of values, but it seems doesnt work. – Soon Kai Tan Mar 04 '16 at 13:45
  • I don't see the DEFAULT_OBJECT bit, can you link me to it? – Brandon Yarbrough Mar 04 '16 at 17:30
  • The [link](https://github.com/GoogleCloudPlatform/storage-getting-started-php/blob/master/app.php) for object. I am trying to use the server api key to run but it seems like it doesnt work. Here is a screenshot of it. [screenshot](https://www.dropbox.com/s/hfnyn5lejfh79m9/Screenshot%202016-03-05%2015.04.02.png?dl=0) .Is there any limitation on the server key? – Soon Kai Tan Mar 05 '16 at 07:02