Python/Flask函数,用于将大型文件上载到sqlite3数据库和云(GCP)

2024-06-16 14:37:48 发布

您现在位置:Python中文网/ 问答频道 /正文

目前我的工作对象是:Python、Flask、SQLAlchemy、

用途:从web(HTML5、CSS、Jinja2)表单向Google云平台上传文件,每个文件最多10 GB

问题:在上传过程中,我收到超时错误,然后,操作被取消

这是执行上载的python后端函数:`

def upload(): 
form = UploadForm() 
if form.validate_on_submit(): 
   file = request.files['localfile'] 
   name = secure_filename(file.filename) 
   print(file) 
   file.save(os.path.join(basedir, name)) 
   blob = bucket.blob(name) 
   blob.upload_from_filename(os.path.join(basedir, file.filename))`

错误:

127.0.0.1 - - [09/Jan/2020 14:54:00] "POST /ingestion/upload HTTP/1.1" 500 - Traceback (most recent call last): File "/Users/gustavocastanheira/ddc_dev/lib/python3.7/site-packages/flask/app.py", line 2309, in call return self.wsgi_app(environ, start_response) File "/Users/gustavocastanheira/ddc_dev/lib/python3.7/site-packages/flask/app.py", line 2295, in wsgi_app response = self.handle_exception(e) File "/Users/gustavocastanheira/ddc_dev/lib/python3.7/site-packages/flask/app.py", line 1741, in handle_exception reraise(exc_type, exc_value, tb) File "/Users/gustavocastanheira/ddc_dev/lib/python3.7/site-packages/flask/_compat.py", line 35, in reraise raise value File "/Users/gustavocastanheira/ddc_dev/lib/python3.7/site-packages/flask/app.py", line 2292, in wsgi_app response = self.full_dispatch_request() File "/Users/gustavocastanheira/ddc_dev/lib/python3.7/site-packages/flask/app.py", line 1815, in full_dispatch_request rv = self.handle_user_exception(e) File "/Users/gustavocastanheira/ddc_dev/lib/python3.7/site-packages/flask/app.py", line 1718, in handle_user_exception reraise(exc_type, exc_value, tb) File "/Users/gustavocastanheira/ddc_dev/lib/python3.7/site-packages/flask/_compat.py", line 35, in reraise raise value File "/Users/gustavocastanheira/ddc_dev/lib/python3.7/site-packages/flask/app.py", line 1813, in full_dispatch_request rv = self.dispatch_request() File "/Users/gustavocastanheira/ddc_dev/lib/python3.7/site-packages/flask/app.py", line 1799, in dispatch_request return self.view_functionsrule.endpoint File "/Users/gustavocastanheira/Desktop/DDC/DDC/ingestion/views.py", line 46, in upload blob.upload_from_filename(os.path.join(basedir, file.filename)) File "/Users/gustavocastanheira/ddc_dev/lib/python3.7/site-packages/google/cloud/storage/blob.py", line 1320, in upload_from_filename predefined_acl=predefined_acl, File "/Users/gustavocastanheira/ddc_dev/lib/python3.7/site-packages/google/cloud/storage/blob.py", line 1265, in upload_from_file client, file_obj, content_type, size, num_retries, predefined_acl File "/Users/gustavocastanheira/ddc_dev/lib/python3.7/site-packages/google/cloud/storage/blob.py", line 1175, in _do_upload client, stream, content_type, size, num_retries, predefined_acl File "/Users/gustavocastanheira/ddc_dev/lib/python3.7/site-packages/google/cloud/storage/blob.py", line 1122, in _do_resumable_upload response = upload.transmit_next_chunk(transport) File "/Users/gustavocastanheira/ddc_dev/lib/python3.7/site-packages/google/resumable_media/requests/upload.py", line 425, in transmit_next_chunk retry_strategy=self._retry_strategy, File "/Users/gustavocastanheira/ddc_dev/lib/python3.7/site-packages/google/resumable_media/requests/_helpers.py", line 136, in http_request return _helpers.wait_and_retry(func, RequestsMixin._get_status_code, retry_strategy) File "/Users/gustavocastanheira/ddc_dev/lib/python3.7/site-packages/google/resumable_media/_helpers.py", line 150, in wait_and_retry response = func() File "/Users/gustavocastanheira/ddc_dev/lib/python3.7/site-packages/google/auth/transport/requests.py", line 287, in request **kwargs File "/Users/gustavocastanheira/ddc_dev/lib/python3.7/site-packages/requests/sessions.py", line 508, in request resp = self.send(prep, **send_kwargs) File "/Users/gustavocastanheira/ddc_dev/lib/python3.7/site-packages/requests/sessions.py", line 618, in send r = adapter.send(request, **kwargs) File "/Users/gustavocastanheira/ddc_dev/lib/python3.7/site-packages/requests/adapters.py", line 490, in send raise ConnectionError(err, request=request) requests.exceptions.ConnectionError: ('Connection aborted.', timeout('The write operation timed out'))

Tags: inpydevappflaskrequestlibpackages