1

为客户端工作的应用程序将异步接收请求,立即回复,然后出去获取一组大文件以执行工作,最后在几分钟或几小时后将结果上传到 S3。

我们能否提前知道 S3 上文件的最终 url 是什么?我正在考虑根据文件名和我们在传入请求初始化时知道​​的其他一些元数据创建一个哈希,并将其用作 S3 文件的名称。是否存在 S3 主机加存储桶加文件名的可预测模式,还是在文件上传完成之前我们不知道?

我正在考虑将最终的 S3 文件名返回到初始请求,期望在客户端他们可以定期检查 url 以获取结果。另外,我正在考虑要求客户端在请求中传递一个回调 url。然后,该应用程序将稍后以工作的成功/失败状态点击该 URL。

谢谢。

4

1 回答 1

2

上传到 S3 的文件的 URL 可以完全由您确定 - 它完全取决于存储桶和密钥名称。具体来说,它的形式是:

http://s3.amazonaws.com/BUCKETNAME/KEYNAME

(或某些其他格式,取决于。它仍然是完全可以预测的。)

只要您提前选择密钥名称,您就会知道最终的 URL 是什么。

于 2013-10-27T01:29:12.837 回答