我正在使用在AWS上托管的node / express构建一个接受照片上传的服务。照片将存储在S3中,但仅限于具有特定权限的用户(应用程序已定义)。访问将通过节点服务器创建的签名S3 URL进行控制。
上传照片的客户将是iOS,Android和现代浏览器。
为了最大限度地提高可扩展性,我打算让客户端将照片直接上传到S3,这样我的服务器就不需要处理这些请求了。这要求客户在上传照片之前从服务器获取已签名的上传URL。我面临的挑战是照片可以与我存储在数据库中的用户定义的元数据配对(例如照片标题,注释等)。我正在努力避免孤立的照片或元数据。如果我要求客户端首先将元数据上传到数据库,那么照片可能无法上传,反之亦然。
我可以使用哪些选项来完成这项工作?这是我到目前为止所提出的:
您会推荐哪些其他选择?
提前感谢您的帮助。
答案 0 :(得分:2)
上传状态为"待定"的元数据或类似的东西。然后根据您的问题上传图片。在您的存储桶上有一个lambda触发器,用于更新状态。
对于奖励分数,一个定时的lambda函数清除旧记录" pending"状态。