dragon456101 2016-03-04 04:03
浏览 37
已采纳

无论如何都要从Google Compute Engine连接到Google云端存储?

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
", $bucket->getName());
}

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

  • 写回答

1条回答 默认 最新

  • dpn4073 2016-03-04 07:59
    关注

    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.

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?