如何从Google App Engine PHP脚本连接到Google云存储?

如何从Google App Engine PHP脚本连接到Google云存储?,php,google-app-engine,google-cloud-storage,Php,Google App Engine,Google Cloud Storage,我正在尝试使用PHP从我的应用程序引擎写入Google云存储桶中的文件。我遵循了设置bucket并通过PHP访问它的文档: 我已经添加了appengine的服务帐户名作为相关bucket的所有者,但是当我尝试运行类似以下内容时: $fp = fopen('gs://[bucket-name]/log/log.txt', 'a+'); 我得到以下错误: PHP Warning: fopen(gs://[bucket-name]/log.txt): failed to open stre

我正在尝试使用PHP从我的应用程序引擎写入Google云存储桶中的文件。我遵循了设置bucket并通过PHP访问它的文档:

我已经添加了appengine的服务帐户名作为相关bucket的所有者,但是当我尝试运行类似以下内容时:

$fp = fopen('gs://[bucket-name]/log/log.txt', 'a+');
我得到以下错误:

PHP Warning:  fopen(gs://[bucket-name]/log.txt): failed to open stream: 
"\google\appengine\ext\cloud_storage_streams\CloudStorageStreamWrapper::stream_open" 
call failed in /[myfile.php] on line 33

[bucket name]
只是一个占位符,我使用的是正确的bucket名称。我遗漏了什么吗?

a+
不是打开GCS文件的有效模式。无法将GCS中的对象附加到。它们只能被覆盖。您可以在此处找到有效的模式:


FWIW,我也阅读了post@并试图找到替代的应用引擎电子邮件标识符,将桶的所有权授予,但没有运气。就是这样。将写入模式更改为
'w'
可使流正常工作。我现在在
is\u resource($fp)
函数和谷歌云存储中遇到了一个问题,它总是返回false,也许这是相关的。我有时间就玩。谢谢你的帮助!