0

目前我正在使用谷歌应用程序引擎为我的PHP项目。我决定将我的项目迁移到Google Compute Engine,但无法通过php连接到Google云端存储。无论如何要解决这个问题?无论如何要通过Google Compute Engine连接到Google Cloud Storage吗?

更新:

我发现这是可以实现的,我需要使用服务器API来获取存储内容的一些例子。这就是我所做的。

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()); 
} 

但它仍然无法正常工作。服务器密钥是否限制访问某些控件?它给了我一个错误500.

回答

1

您当然可以使用Google Compute Engine(GCE)的Google Cloud Storage(GCS)。您会发现这是访问GCS的最快捷方式之一。但是,如果不使用App Engine,则不能使用相同的App Engine PHP库访问GCS。

从AppEngineis以外的环境使用PHP的规范客户端库Google APIs Client Library for PHP。您可以在这里找到有关使用该库访问GCS的演示和教程:https://cloud.google.com/storage/docs/json_api/v1/json-api-php-samples

作为第二个选项,新gcloud-php项目对GCS有基本支持。

最后,作为第三个选项,用于直接通过HTTP请求访问GCS的公共API已经有很好的文档记录,并且在GCE中工作得很好。

+0

是的,目前我正在看这个例子。谢谢你让我知道GCS也可以和GCE一起使用。但是目前我对某件事很困惑。它需要我输入define('DEFAULT_OBJECT','DEFAULT_OBJECT');什么是对象价值?我尝试了很多值,但它似乎没有用。 –

+0

我没有看到DEFAULT_OBJECT位,你能联系我吗? –

+0

[link](https://github.com/GoogleCloudPlatform/storage-getting-started-php/blob/master/app.php)为对象。我正在尝试使用服务器API密钥运行,但它似乎不起作用。这是它的截图。 [截图](https://www.dropbox.com/s/hfnyn5lejfh79m9/Screenshot%202016-03-05%2015.04.02.png?dl=0)。服务器密钥是否有任何限制? –

相关问题