使用 Appengine,连接到不同的 Google 云存储

Using Appengine, connect to a different Google Cloud Storage

所以我有 2 个应用程序引擎项目。

在我的一个应用程序引擎中,我有一个 google 云存储组件。通常连接到我刚做的那些云存储文件:

<?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'); ?>

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

有人知道我该怎么做吗?

您需要按如下方式向 App Engine 应用程序授予存储桶权限:

  1. 转到 Developers Console 中的存储浏览器部分。
  2. Select 您的存储桶,单击 3 个垂直点,然后单击 'Edit bucket permissions'。
  3. 单击 'Add new'、select、'User' 和 select 至少具有 WRITER 权限。在文本字段中输入您的 App Engine 服务帐户。 App Engine 服务帐户的格式为:<projectID>@appspot.gserviceaccount.com

  4. 保存更改。

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