Как получить доступ к образам облачного хранилища через локальный сервер разработки GAE?

Я не могу понять, как генерировать URL-адреса изображений на локальном сервере разработки. В производстве я могу использовать

CloudStorageTools::getImageServingUrl("gs://example/path/to/image.jpg")

но когда я использую ту же строку с помощью сервера разработки, он генерирует

http://localhost:24080/_ah/img/encoded_gs_file:d2lsZHN0YXItZGF0YS9pbWFnZXMvdGVzdC9tZTMuanBlZw== 

вместо фактического URL-адреса изображения. У меня будет большой набор изображений, и они лучше всего подходят для хранения в облаке, а не в приложении ядра приложения.


person Morgan O'Neal    schedule 15.05.2014    source источник


Ответы (1)


Локальный dev_appserver использует локальную файловую систему для эмуляции GCS. Вот почему URL-адрес, который вы получаете от getImageServingUrl, работает только на вашем локальном компьютере. Вы получите общедоступный URL-адрес при запуске приложения в рабочей среде.

person Mars    schedule 16.05.2014
comment
Прямо сейчас изображение возвращает ошибку 405: curl -iI http://localhost:24080/_ah/img/encoded_gs_file:d2lsZHN0YXItZGF0YS9pbWFnZXMvdGVzdC9tZTMuanBlZw== HTTP/1.1 405 Method Not Allowed Server: Development/2.0 Connection: close Date: Fri, 16 May 2014 04:38:49 GMT Ожидается ли это? Могу ли я разместить изображения где-нибудь в своей локальной системе, чтобы лучше эмулировать GCS? - person Morgan O'Neal; 16.05.2014
comment
Локальный dev_appserver не поддерживает метод HTTP HEAD (что подразумевается флагом -I для curl). Попробуйте открыть ссылку в любом браузере, и вы должны увидеть изображение. - person Mars; 18.05.2014