3

我使用 Java AWS S3 SDK 来预先签署我的请求。我有以下代码:

var request = new GeneratePresignedUrlRequest(bucketName, filename)
        .withMethod(method)
        .withExpiration(expiration());

// do something with request

return s3Client.generatePresignedUrl(request);

我需要写什么来代替注释来添加自定义条件,例如content-length-range

4

1 回答 1

4

对于基于浏览器的 POST 上传到 S3,AWS Java 开发工具包不提供生成带有条件的预签名 URL 的方法。有一个开放的功能请求将其添加到 v2 SDK。请注意,PHP、Node.js 和 Python SDK 都提供此功能。

对于常规 HTTP PUT 预签名 URL,您不能对预签名 URL 应用内容长度限制。您可以使用自定义策略放置条件,但仅支持:

  • 日期小于
  • 日期大于
  • IP地址

如果您需要处理给定大小范围之外的对象,那么您可以在上传对象后在 AWS Lambda 中执行此操作。

于 2020-09-26T13:23:26.110 回答