使用App Engine连接到其他Google云端存储

时间:2015-02-02 22:17:32

标签: php google-app-engine google-cloud-storage

所以我有2个app引擎项目。

在我的一个应用引擎中,我有一个谷歌云存储组件。通常连接到那些云存储文件:

<?php
   use google\appengine\api\cloud_storage\CloudStorageTools;

   $document_data = "123";
   $object_url = 'gs://{bucket}/FOLDER/file.ext';
   $options = stream_context_create(['gs'=>['acl'=>'private']]);
   $my_file = fopen($object_url, 'w', false, $options);
   fwrite($my_file, $document_data);
   fclose($my_file);
?>

<?php file_get_contents('gs://FOLDER/file.ext'); ?>

我有另一个没有谷歌云存储的应用引擎,但我想连接到我的其他应用引擎中的云存储。

有谁知道我该怎么办?

1 个答案:

答案 0 :(得分:4)

您需要为App Engine应用程序提供存储桶权限,如下所示:

  1. 转到Developers Console
  2. 中的存储浏览器部分
  3. 选择您的存储桶,单击3个垂直点,然后单击“编辑存储桶权限”。
  4. 点击“添加新”,选择“用户”并至少选择WRITER权限。在文本字段中键入您的App Engine服务帐户。 App Engine服务帐户的格式为:<projectID>@appspot.gserviceaccount.com

  5. 保存更改。

  6. 完成这些步骤后,您应该能够连接到属于另一个项目的存储桶。