微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

PUT 预签名 URL 在文件下载完成之前过期

如何解决PUT 预签名 URL 在文件下载完成之前过期

有点奇怪,我的 API 被发送了一个预签名的 URL 来写入,以及一个预签名的 URL 来下载文件

问题是,如果他们发送一个非常大的文件,我们需要写入的预签名 url 可能会在到达该步骤之前过期(一些处理发生在读/写之间)。

是否可以“打开”连接以尽早写入以确保它不会过期,然后在较早的过程完成后开始写入?或者也许有更好的方法来处理这个问题。

订单如下:

  1. 使用 downloadUrl 和 uploadUrl 接收 API 请求
  2. 下载文件
  3. 处理文件
  4. 上传文件到uploadUrl

TL;DR:如何确保 #4 的 url 在我到达之前不会过期?

解决方法

生成预签名 URL 时,您可以完全控制持续时间。例如,此 Java 代码显示了如何在创建 GetObjectPresignRequest 对象时设置时间:

 GetObjectPresignRequest getObjectPresignRequest =  GetObjectPresignRequest.builder()
                            .signatureDuration(Duration.ofMinutes(10))
                            .getObjectRequest(getObjectRequest)
                            .build();

所以你可以在这种情况下增加时间限制。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。