问题描述
我正在开发一个Web应用程序,用户在其中将文件上传到s3中,
对于第三步,我需要知道用户是否已针对给定的签名URL将文件完全上传到s3存储桶中,以便可以将该URL存储在该特定用户的MysqL数据库中。
解决方法
您可以将目标存储桶与S3事件相关联。上传完成后,您将使用URL更新数据库。
有两种选择:
- 接受文件上传数据并将其保存为状态待定的数据库;
- 发送回signedUrl作为响应;
- 文件由前端上传;
- S3触发发送到Lambda函数的事件
- 使用上传状态和正确的URL更新数据库
如果您不需要保存任何元数据,只需保存URL,就可以使用signedUrl进行回答,而无需在第一步中更新数据库。
您可以在S3 official docs中找到有关此策略的更多信息。