使用预签名URL将流上传到S3

4
我正在尝试将文件上传到客户的S3中。我获得了预签名URL,允许我进行PUT请求。由于我无法访问他们的访问密钥和秘密密钥,所以无法使用AWS SDK。
使用场景是我正在消费gRPC服务器流式调用,并将其转换为带有一些字段更改的csv文件。随着调用的到来,我希望能够将转换后的gRPC响应流式传输到S3中。我需要通过流式传输来完成,因为响应可能会变得相当大,超过100MB,因此在上传到S3之前将所有内容加载到内存中并不理想。有什么建议吗?
1个回答

5

这是一个关于预签名S3上传URL的未解决问题:

https://github.com/aws/aws-sdk-js/issues/1603

目前,通过S3预签名URL进行大文件上传的唯一有效解决方案是使用多部分上传。该方法最大的缺点是需要让签署上传的服务器知道您的文件大小,因为它将需要逐个预签名每个部分。例如: 100MB的文件上传将需要预先单独签署20个部分(每个部分最大5MB)。


在搜索时没有遇到这个问题,我猜我的谷歌搜索技巧需要提高一下。非常感谢! - Ryan Tin

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接