Python Файловая система только для чтения. Ошибка S3 и Lambda при загрузке файла дампа из MYSQL. - PullRequest
0 голосов
/ 06 февраля 2020

У меня есть следующий код для запуска запроса из mysql

        dump_query=/media/+"/mysql -u"+user+" -p'"+passwd+"' -h"+host+" "+name+" -e '"+query+"' | sed 's/\t/,/g' > "+filepath+"test.csv"
 proc = subprocess.Popen(dump_query, shell=True)
        proc.wait()
        fs = FileSystemStorage(filepath)            
        with fs.open('test.csv') as record:
            if os.path.getsize(str(record)) == 0:
                messages.warning(request,"No Data available to download")
                if nexturl is not None:
                    return redirect(nexturl)
                else:
                    return redirect('admin_reports:status_index')
            response = HttpResponse(record, content_type='application/csv')
            response['Content-Disposition'] = 'filename="'+filename+'.csv"'             
            return response

Я получаю сообщение об ошибке ниже, в то время как я пытаюсь сделать это из лямбды. Я дал полное разрешение на папку и CSV-файл

 /bin/sh: /var/task/media/downloads/test.csv: Read-only file system

1 Ответ

1 голос
/ 06 февраля 2020

Я думаю, что в Lambda вы можете записывать файлы только в каталог /tmp, как описано здесь . Попробуйте настроить свой код, чтобы сделать это, и оно должно работать.

...