Ответ зависит от размера диапазона вашего импорта. Для небольших файлов будет достаточно 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/