0

我有以下代码用于从 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

当我尝试从 lambda 执行此操作时,出现以下错误。我对文件夹和 csv 文件给予了完全的许可

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

1 回答 1

1

我相信在 Lambda 上,您只能在此处/tmp记录的目录中写入文件。尝试调整您的代码来做到这一点,它应该可以工作。

于 2020-02-06T11:02:05.950 回答