使用过 Amazon S3 python 的朋友。我需要以某种方式在服务器端并行下载一个大文件。但是文件上传本身必须在 C# 前端运行。据我了解,为了上传文件,我们需要将它分成几部分并创建这样一个动作序列
- 运行create_multipart_upload ( ... ) 然后在循环中,客户端发送下载文件片段的请求,接收链接并加载它。
- generate_presigned_url ('upload_part', Params={ 'Bucket': bucket_name, 'Key': key, 'PartNumber': part_num, 'UploadId': upload_id },)我们给客户一个下载单个片段的链接
- 客户端上传文件
- klinet 向我们发送了所有的 etag,我们全部批准了complete_multipart_upload(...)
问题是如何避免第2点,给客户端一个通用的临时链接,以便客户端可以并行下载所有部分并将所有标签扔给我。或者我们需要通过 generate_presigned_url 生成一堆链接,客户端会将文件分部分(分块)发送到这些链接,并且只返回文件的 etag