过期时间更长的 S3 链接

Roc*_*igh 8 java amazon-s3 amazon-web-services aws-sdk

我正在使用客户端的 java sdk 生成预签名链接。我们有新的要求,允许链接保持活动状态至少 30 天。当我将到期时间设置得更长时,我收到以下错误:

由 SigV4 算法预签名的请求最长有效期为 7 天

我需要确定一种解决方法,因为客户端无法接受对链接的更新(例如,如果我只是每周自动生成更新)。有没有解决的办法?我可以通过一组给定的只读凭据吗?

jzo*_*mtn 7

有关日期限制的说明,请参阅此详细答案。

为客户端生成只读凭据效果不佳,因为客户端必须使用这些凭据来创建自己的预签名 URL(与您现在所做的没有什么不同 - 它最多仍会在 7 天后过期)或者使用 AWS 开发工具包直接下载文件,无需预签名 URL。

使用 SigV4 并拥有超过 7 天的持续链接可以通过中间层(如 REST 端点)来完成,中间层的 URL 不会更改并在请求时提供文件。