【问题标题】:Using Appengine, connect to a different Google Cloud Storage使用 Appengine,连接到不同的 Google Cloud Storage
【发布时间】:2026-02-26 14:30:02
【问题描述】:

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

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

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

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

有人知道我该怎么做吗?

【问题讨论】:

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


    【解决方案1】:

    您需要为 App Engine 应用授予存储桶权限,如下所示:

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

    4. 保存更改。

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

    【讨论】:

    • 谢谢!所以通过这样做,我应该能够像上面的代码一样访问存储桶?
    • 是的,你应该这样做。按照我发布的步骤,我能够使用您的代码从一个 App Engine 应用程序到属于另一个项目的存储桶。
    最近更新 更多