Отправить файл с URL в GCS - PullRequest
0 голосов
/ 04 июня 2018

У меня проблемы с просеиванием всех тем о загрузке из формы, и я не могу найти ничего, связанного с загрузкой и отправкой с URL-адреса.

У меня есть большой файл json в формате gzip, который янужно скачать с внешнего сервера и обработать его результаты на App Engine.У меня это работает прямо сейчас, так что он загружает файл в память и разархивирует его, а затем обрабатывает его в очередь задач в небольших задачах.Однако перед оптимизацией памяти небольшого кода я достиг предела в 128 МБ для App Engine.Я волнуюсь, что это в конечном итоге произойдет снова.

Вот мой код на всякий случай, если он кому-нибудь пригодится:

READ_BLOCK_SIZE = 1024*8
request = urllib2.Request(url)
response = urllib2.urlopen(request)
d = zlib.decompressobj(16+zlib.MAX_WBITS)

str = ""
while True:
    data = response.read(READ_BLOCK_SIZE)
    if not data:
        break
    data = d.decompress(data)
    str += data
return str

У кого-нибудь есть мысли?Есть ли хороший способ обрабатывать большие файлы в App Engine и отправлять их прямо в GCS, чтобы мне не приходилось хранить все это в памяти?Потоковая загрузка права на GCS как-нибудь?

...