作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
在我的 Web 应用程序上,我有一个链接,用户可以单击该链接并下载包含一些信息的 CSV 文件。
当用户单击下载链接时,应用程序会从 DynamoDB 中检索记录并将结果以文件的形式以异步方式保存到 S3,因为完成检索和保存可能需要大约 15 秒的时间。
这意味着当用户点击下载链接时,该文件不能立即在 S3 上提供给用户。
在这种情况下,如何在文件成功保存到 S3 并准备好下载后立即将文件推送给前端的用户?
最佳答案
对于长时间运行的作业,典型的策略是跟踪数据库中的某种作业 ID,并在完成后更新数据库。例如,您可能有一个如下所示的 API:
POST /jobs
{ ... job parameters ... }
{
"id": "c7758160-12c2-448a-b982-1f613e4a9593"
"status": "processing"
}
GET /jobs/c7758160-12c2-448a-b982-1f613e4a9593
status
是
done
或者其他什么,然后你可以点击适当的 S3 URL。 (也许您的 API 服务器返回一个签名 URL。)
关于node.js - 如何将保存到 S3 的文件推送到前端进行下载?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61071667/
我是一名优秀的程序员,十分优秀!