Как загрузить большие файлы в Google Cloud Storage из экземпляра Java GAE

Я хотел бы знать, есть ли способ загрузить большой файл (>500 МБ) в Google Cloud Storage, проходящий через приложение Google App Engine: я полагаю, что это невозможно из-за ограничения сервлета GAE (время выполнения ‹=60 с).

Это правильно или вы знаете какой-то новый трюк?


person Marco Tranquillin    schedule 24.09.2012    source источник


Ответы (3)


Что вы подразумеваете под «прохождением» приложения?

Вы можете использовать createUploadUrl и задать целевую корзину Google Storage в UploadOptions, и большой двоичный объект будет записан в хранилище Google, а не в хранилище BLOB-объектов, и ваш обратный вызов будет вызван после завершения загрузки.

person Stuart Langley    schedule 24.09.2012

Когда вы загружаете файл, он находится между вашим клиентом и облачным хранилищем. До завершения загрузки не должно быть никаких запросов к вашему внешнему экземпляру.

При этом, если по какой-то причине ваш внешний интерфейс должен быть задействован как «сквозная» ссылка, нет ограничений на сервлет, который работает на экземпляре внутреннего интерфейса. Вы можете связать виджет загрузки с серверной частью, например, позвонить myBackend1.myApp.appspot.com. Вы можете прочитать о том, как настроить серверную часть в документации GAE.

person Andrei Volgin    schedule 24.09.2012
comment
Большое спасибо за ответ: все ясно. Мои сомнения заключались в следующем: если я создам графический интерфейс, используя, например, GWT, необходимо разрешить пользователю загружать файл в облачное хранилище Google (это будет новая функция существующего приложения), что произойдет с экземпляром GAE, если пользователь загрузит большой файл? Я понял, что проблемы нет, и RPC не вернет исключение, вызванное ограничением по времени. Большое Вам спасибо. - person Marco Tranquillin; 25.09.2012

Другой вариант — использовать механизм прямой загрузки Google Cloud Storage:

https://developers.google.com/storage/docs/reference-methods#postobject

Вы уже рассматривали это как вариант?

person Navneet    schedule 24.09.2012