Служба хранения с Google App Engine
-
21-09-2019 - |
Вопрос
Мне было назначено проект по созданию службы хранения файлов в Google App Engine. Но я действительно сомневаюсь, возможно ли это или не предоставляется ограничение в 30 секунд для обработки ответа, и, кроме того, его BigTable - это просто система базы данных, а не хранилище Сервер.
Решение
Вы захотите посмотреть на API Blobstore API
http://code.google.com/appengine/docs/java/blobstore/
Он позволяет загружать файлы до 50 МБ в размере и обслуживать их напрямую, не проходя через BigTable. Что я делаю, так это то, что у меня есть скрипт, который принимает файл, создает URL -адрес загрузки Blobstore, затем опубликуйте полученный файл в этот URL -адрес и хранит запись в BigTable. 30 второго времени применяется только к времени обработки, поэтому акт загрузки файла не учитывается к этому.
Другие советы
Если все, что вам нужно, это хранилище, лучший выбор, чем приложение,-это недавно бета-D Google Storage:
Google Storage для разработчиков - это спокойная служба для хранения и доступа к вашим данным в инфраструктуре Google. Сервис объединяет производительность и масштабируемость облака Google с расширенными возможностями безопасности и обмена. Основные моменты включают:
Быстрый, масштабируемый, высокодоступный магазин объектов
Все данные реплицированы в несколько центров обработки данных США
Читать-Your Writes Последовательность данных
Объекты сотен гигабайт по размеру на запрос с поддержкой диапазона
Доменное пространство имен ведра
Легкая, гибкая аутентификация и обмен
Ключевая аутентификация
Аутентифицированные загрузки из веб -браузера
Управление доступа на уровне индивидуального и группы
Используйте и посмотрите, если вам нравится Blobstore в действие Я утверждаю
Это определенно возможно.
Есть также несколько подобных вопросов, которые были ответил. Анкет Смотрите Google для получения дополнительной информации.
Но в целом, да, 30 -секундный предел усложняет вашу задачу, но вы можете разбить свой файл на куски и сохранить их отдельно в виде текста/каждых. Удаленный API приложения двигателя может сделать это для вас автоматически.
Имейте в виду, что у вас есть 10 МБ за запрос.
Посмотрите на этот проект для некоторого вдохновения:
http://django-filetransfers.appspot.com/
SourceCode доступен, если вы перейдите по ссылке на странице.