2013-12-23 2 views
1

Я пытаюсь записать файл в хранилище Google Cloud Storage из моего App Engine с помощью PHP. Я следовал документации по настройке ведро и доступ к нему с помощью PHP:Как подключиться к Google Cloud Storage с помощью PHP-скрипта Google App Engine?

Я добавил имя учетной записи службы в App Engine, как владелец ведра о котором идет речь, но когда я пытаюсь запустить что-то вроде следующего:

$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] является просто заполнителем, я использую правильное имя ковша. Я что-то упускаю?

+0

FWIW, я также прочитал пост @ http://stackoverflow.com/questions/20294785/how-to-use-google-cloud-storage-for- php? rq = 1 и попытался найти альтернативные идентификаторы электронной почты в App Engine, чтобы предоставить право собственности на ведро, но не повезло. –

ответ

2

a+ не является допустимым для открытия файла GCS. Объекты в GCS не могут быть добавлены. Их можно только перезаписать. Вы можете найти действительные режимы здесь:

https://code.google.com/p/googleappengine/source/browse/trunk/python/php/sdk/google/appengine/ext/cloud_storage_streams/CloudStorageStreamWrapper.php?spec=svn404&r=400#56

+0

Вот и все. Изменение режима записи на '' w '' позволяет потоку работать правильно. У меня теперь проблема с функцией 'is_resource ($ fp)' и облачным хранилищем Google, где она всегда возвращает false, возможно, это связано. Я буду играть с ним, когда у меня будет время. Спасибо за вашу помощь! –

+1

без проблем, удачи! – jterrace

 Смежные вопросы

  • Нет связанных вопросов^_^