appengine - альтернативы ftp - PullRequest
       4

appengine - альтернативы ftp

0 голосов
/ 28 декабря 2010

У меня есть приложение appengine, и мне нужно получать файлы от третьих лиц.

Лучший вариант для меня - получать файлы по ftp, но я читал, что это невозможно, по крайней мере год назад.

Это все еще не возможно? Каким способом я могу получить файлы?

Это очень важно для моего проекта, на самом деле это необходимо.

Огромное спасибо !!!!

Ответы [ 2 ]

2 голосов
/ 28 декабря 2010

Вам необходимо использовать Blobstore .

Редактировать : Для публикации в Blobstore на Java фрагмент кода в этот вопрос SO должен работать (это было для Android; в других местах используйте, например, Apache HTTPClient ). URL для публикации должен быть создан с помощью createUploadUrl . Простейшим способом сообщить об этом исходному серверу может быть GET URL, например, «/ makeload», который является text / plain и содержит только URL для POST. Чтобы предотвратить несанкционированную загрузку, вам может потребоваться пароль либо в POST, либо уже в GET (например, в качестве параметра запроса)

0 голосов
/ 01 августа 2013

Ответ зависит от размера диапазона вашего импорта. Для небольших файлов будет достаточно API Urlfetch.

Я, как правило, импортирую большие файлы CSV размером от 70 до 800 МБ, и в этом случае устаревшие Blobstore и HTTP-POST не сокращают его. GAE не может обрабатывать HTTP-запросы> 32 МБ напрямую, и вы не можете загружать статические файлы> 32 МБ для ручного импорта.

Традиционно я использовал * nix relay для загрузки файлов данных, разделения их на правильно сформированные сегменты JSON и последующей отправки, возможно, 10-30 тыс. HTTP-запросов POST обратно в GAE. все входы в хорошо сформирован. Раньше это был единственный жизнеспособный обходной путь, и для> 1 ГБ файлов он все еще мог бы оказаться предпочтительным методом из-за масштабирования производительности (сложные процедуры импорта легко распределяются между сотнями экземпляров F1).

К счастью, по состоянию на 9 апреля этого года (SDK 1.7.7) импорт больших файлов напрямую в GAE больше не является проблемой. Исходящие сокеты обычно доступны для всех приложений с поддержкой биллинга, и, следовательно, вы легко решите проблему «больших файлов», открыв FTP-соединение и загрузив его.

Обзор API сокетов (Python): https://developers.google.com/appengine/docs/python/sockets/

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...