使用带有GCloud Buckets的fastapi+应用程序引擎上传超过35MB



我目前有一个Fastapi应用程序引擎应用程序。它处理从表单上传的文件,处理文件,将其记录添加到数据库,并将文件保存在谷歌云存储桶中。然而,应用程序引擎将POST请求的文件上传大小限制为35mb。我可以在本地测试该应用程序,它运行得很好,但GCloud GFE会导致端点为任何大文件返回413的状态代码。下面你可以看到我用来处理文件上传的代码。

@router.post('/upload')
def upload(name: str = Form(...), file: UploadFile = File(...), db=Depends(get_session)):
"""
Uploads a file to the server
"""
if not file.content_type.startswith('video/'):
error = "File must be a video"
return RedirectResponse(url='/files?error_message=' + error, status_code=302)
create_db_record(db, name, file)
storage_client = storage.Client.from_service_account_json('service_account.json')
bucket = storage_client.get_bucket('myapp.appspot.com')
blob = bucket.blob(file.filename)
blob.upload_from_file(file.file)
return RedirectResponse(url='/')

如果我直接将文件上传到bucket,我将无法首先处理它,但如果它将超过35mb,则无法通过上传表单发送它。我如何允许这个Fastapi post请求接受更大的文件以便能够上传到bucket?我发现的所有文档都没有显示如何从fastapi/django端处理它。

限制为32MB。您不能更改该限制(配额(。

该值由谷歌前端(GFE(确定/配置,GFE是谷歌大部分公司的全球服务。应用引擎、云运行和云功能等服务也有同样的限制。

应用程序引擎也有32 MB的文件大小限制

谷歌计算引擎对文件大小或上传大小没有相同的限制。

相关内容

  • 没有找到相关文章

最新更新