Я пытаюсь отправить большие файлы (50 МБ-2 ГБ), которые я сохранил в S3, используя filepicker.io в Google App Engine Blobstore (на Python). Я бы хотел, чтобы это произошло без прохождения формы в клиентском браузере, поскольку она побеждает требования к проекту (и часто зависает с очень большими файлами).Отправить большие файлы в GAE Blobstore через API (из S3)
Я попробовал несколько решений, в том числе:
- пытается load the file into GAE with urlfetch (но GAE has a 32MB limit для запросов/ответов)
- построения нескольких частей формы в питона с и отправки его на
blobstore.create_upload_url()
(не может передать файл с помощью URL, и не может загрузить его в сценарии из-за предела 32MB) - использованием boto to read the file straight into the blobstore (время соединения, и журналы показывают
encountered HTTPException exception
от Бото, запускающегоCancelledError: The API call logservice.Flush() was explicitly cancelled.
из GAE, что происходит сбой процесса.
Я изо всех сил пытаюсь найти рабочее решение. Любые подсказки о том, как я могу выполнить эту передачу, или как передать файл из s3 в виде вложения формы, не загружая его сначала на python (т. Е. Просто указывая его URL-адрес), будут очень оценены.
использовать http-библиотеки, а не полный ответ, но проверить его – 2013-04-12 12:04:35
@peterretief вы имеете в виду что-то вроде [запросов python] (http://www.python-requests.org/)? – ergelo
Я разместил вопрос, связанный с этим предложением [здесь] (http://stackoverflow.com/questions/15973204/using-python-requests-to-bridge-a-file-without-loading-into-memory) – ergelo