如何使用 Python SDK 将大文件上传到 MinIO

How to Upload a Large File to MinIO using Python SDK

提问人:kitkatdog 提问时间:10/10/2023 最后编辑:kitkatdog 更新时间:10/10/2023 访问量:163

问:

我很好奇如何在 FastAPI 后端使用 MinIO Python SDK 分块上传大文件。

我已经根据以下帖子实现了分块上传到服务器:如何将大文件(≥3GB)上传到FastAPI后端?.stream()

在这种情况下,我需要在收到文件后立即将文件分块上传到 MinIO,而不是在将所有文件上传到服务器后。

我想知道是否有办法在收到上传块后立即将其流式传输到 MinIO,而不是先将所有文件上传到服务器。使用 Python MinIO SDK 可以吗?

目前,它的实现方式如下。

parser = StreamingFormDataParser(headers=request.headers)
file_target = FileTarget(temp_file_path)
parser.register("file", file_target)

async for chunk in request.stream():
    parser.data_received(chunk)

await upload_stream_data_to_minio(filename, object_path)

我参考了这篇文章视频

我检查了在使用 put_object 将块上传到 MinIO 时,文件被逐块覆盖,因为对象名称相同。

流式处理 fastapi minio 大文件上传

评论

0赞 Chris 10/10/2023
回答了你的问题吗?
0赞 kitkatdog 10/11/2023
我想知道是否有办法使用或其他方式将块上传到 MinIO。所以我认为答案与我想要的不同。put_object()

答: 暂无答案