gpt4 book ai didi

node.js - 将文件上传到 Amazon S3,更新数据库并返回响应

转载 作者:行者123 更新时间:2023-11-28 13:01:17 30 4
gpt4 key购买 nike

我看到了如何上传到 Amazon S3(从客户端),我看到了如何发出更新 dynamoDB 的请求(从客户端)但是我如何将文件上传到 S3 以便我得到回复“业务逻辑”信息?

例如,我想将照片上传到 uploadPhoto 端点,该端点将返回我的 dynamoDB 模型中照片的 photoID

是的,我可以将文件上传到 S3 并让它“通知”Lambda,但为时已晚,S3 已经返回响应,Lambda 无法发送另一个响应给客户端。

很明显,我不应该将文件上传到 Lambda。

所以有 API 网关,不清楚将文件上传到 API 网关是不是一个“好主意”...

最佳答案

我们刚刚经历了类似的情况,不幸的是我认为它归结为 2 个选择:

  1. 使用多个请求 - 客户端调用 lambda 获取预签名 url,客户端将文件直接上传到 s3,然后客户端回调 lambda,让它知道文件已上传并获得包含所有业务逻辑的响应

  2. 一个请求 - 创建一个位于 s3 前面的服务(可能在 ec2 上),这样您的客户端直接上传到您的服务,然后您的服务上传到 s3,执行业务逻辑,然后发送响应返回给客户端。客户端的工作量肯定减少了,但您需要为两倍的带宽付费,因为您上传了两次。

我们实现了#1,这并不难。在我们的例子中,客户端是一个 Angular 应用程序,因此对用户来说,它看起来像是一个请求,但在幕后,该应用程序正在发出多个调用。

关于node.js - 将文件上传到 Amazon S3,更新数据库并返回响应,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33763040/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com