使用 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 应用程序授予存储桶权限:
- 转到 Developers Console 中的存储浏览器部分。
- Select 您的存储桶,单击 3 个垂直点,然后单击 'Edit bucket permissions'。
单击 'Add new'、select、'User' 和 select 至少具有 WRITER 权限。在文本字段中输入您的 App Engine 服务帐户。 App Engine 服务帐户的格式为:<projectID>@appspot.gserviceaccount.com
保存更改。
完成这些步骤后,您应该能够连接到属于另一个项目的存储桶。
所以我有 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 应用程序授予存储桶权限:
- 转到 Developers Console 中的存储浏览器部分。
- Select 您的存储桶,单击 3 个垂直点,然后单击 'Edit bucket permissions'。
单击 'Add new'、select、'User' 和 select 至少具有 WRITER 权限。在文本字段中输入您的 App Engine 服务帐户。 App Engine 服务帐户的格式为:
<projectID>@appspot.gserviceaccount.com
保存更改。
完成这些步骤后,您应该能够连接到属于另一个项目的存储桶。