使用java在amazons3上上传大文件(超过1gb):大文件临时占用服务器大量空间

ycl3bljg  于 2021-07-11  发布在  Java
关注(0)|答案(1)|浏览(660)

我正在尝试使用java在AmazonS3上上传大文件(超过1GB)
我使用awss3多部分上传上传大块的大文件。https://docs.aws.amazon.com/amazons3/latest/dev/hluploadfilejava.html
我也使用从前端上传文件块。
所以,被上传的文件会暂时分块上传到服务器上,分块上传到s3上。现在的问题是,这种方法会给服务器带来巨大的负载,因为这会暂时占用服务器空间。如果多个用户试图同时上载大文件,则会产生问题。
有没有什么方法可以直接将文件从用户系统上传到amazons3,而不需要将文件临时存储在服务器上?
如果直接通过前端上传文件,则存在密钥暴露的主要风险。

jfewjypa

jfewjypa1#

你应该利用上传直接从客户端与签署的网址有大量的文件,这
aws sdk预签名url+多部分上传
如果您希望您的用户/客户能够将特定对象上载到您的bucket,但不要求他们具有aws安全凭据或权限,那么预签名的url非常有用。
您还可以对限制用户能够上传的大小感兴趣
使用预先签名的url上传到amazon s3时限制对象的大小
考虑将签名的url作为客户端访问特定s3位置的临时凭证。这些凭证将在短时间内过期,因此安全问题较少,但请记住适当限制已签名URL的访问

相关问题