Запись файла со свойствами из хранилища данных - PullRequest
0 голосов
/ 14 ноября 2011

Я хочу разделить запятыми список всех адресов электронной почты, которые хранятся в моем приложении.Он слишком велик для обычного запроса, и запись его в хранилище блогов также является слишком большим запросом:

class CSVHandler(webapp2.RequestHandler):
    def get(self):
        entities = Entity.all().fetch(10000)
        s = ''
        for entity in entities:
            s= s+","+str(entity.email)       
        file_name = files.blobstore.create(mime_type='application/octet-stream')     
        with files.open(file_name, 'a') as f:
          f.write(s)    
        files.finalize(file_name)    
        blob_key = files.blobstore.get_blob_key(file_name)

Могу ли я вместо этого сделать это в качестве задачи, очереди, серверной части или чего-то еще?

Заранее благодарю за любые предложения

Ответы [ 2 ]

1 голос
/ 14 ноября 2011

Вместо того, чтобы пытаться сохранить весь файл за одну операцию записи, запишите его в хранилище больших двоичных объектов. Использование модуля csv сделает это проще, и вы сможете писать его постепенно.

1 голос
/ 14 ноября 2011

Вам, вероятно, следует использовать встроенный инструмент массовый загрузчик , который может загружать все объекты через удаленный API и сохранять выбранные поля в формате CSV.

...