Amazon S3初学者查询

时间:2012-08-08 14:30:55

标签: java amazon-s3

我有一个分布式系统,包括2个应用程序 A B

B调用A的特定API,为其执行基础工作流,在此期间生成文件并将其上载到S3 A 在上传之前对文件进行客户端加密。对 B 的API响应是上传文件的存储桶+链接位置。

现在稍后 B 希望从S3下载文件。

有两种方法可以做到这一点 -

  1. B 结束时实施下载功能,在这种情况下,需要知道 A 用于上传的AWS密钥。
  2. A B 展示download功能,以便 B 无需了解AWS密钥 A 用于上传。


  3. 选项2似乎是正确的做事方式。
    我的理解是正确的还是第三种更合理的方法?

1 个答案:

答案 0 :(得分:0)

您可能希望使用查询字符串身份验证来考虑“中途宿舍”。基本上,当B想要下载文件时,它向A请求下载链接。然后A生成一个有时间限制的pre-signed request URL,然后B可以直接从S3下载文件。

当您标记了您的问题“java”时,我假设您正在使用AWS Java SDK,在这种情况下,您需要的方法是AmazonS3Client中的generatePresignedUrl