Angular 在AWS s3中保存图像
我计划让我的应用程序在AWS中保存图像和一些表单数据。我已经知道如何通过API网关和lambda在DynamoDB中保存角度表单数据。但是我还没有找到一个好方法来保存图像并将图像存储在DynamoDB中。有人能告诉我什么是最佳实践吗?如果您有任何参考,将不胜感激 我想可能会直接从Angular将图像保存到S3,然后让lambda监听事件并将图像S3位置保存在DynamoDB中。但是还没有找到一种直接从存储到S3的好方法 棱角分明 另一种方法是让lambda在DynamoDB中存储数据以保存图像,然后使用S3位置保存DB。但是还没有找到这样的例子Angular 在AWS s3中保存图像,angular,amazon-s3,lambda,aws-lambda,Angular,Amazon S3,Lambda,Aws Lambda,我计划让我的应用程序在AWS中保存图像和一些表单数据。我已经知道如何通过API网关和lambda在DynamoDB中保存角度表单数据。但是我还没有找到一个好方法来保存图像并将图像存储在DynamoDB中。有人能告诉我什么是最佳实践吗?如果您有任何参考,将不胜感激 我想可能会直接从Angular将图像保存到S3,然后让lambda监听事件并将图像S3位置保存在DynamoDB中。但是还没有找到一种直接从存储到S3的好方法 棱角分明 另一种方法是让lambda在DynamoDB中存储数据以保存图像,
也许有更好的办法。请告知。谢谢大家! 首先,重要的是要有一个直接上传机制,将图像上传到S3,而无需通过API网关。因为我们也不想让S3存储桶公开,所以您可以使用以下选项之一在适当的访问控制下上传图像
- 使用或(如果使用CloudFront)从API端点生成SignedUrl
- 使用IAM临时访问凭据将文件上载到S3,可以使用API端点生成这些文件,也可以使用(如果使用Cognito Userpools作为IDP,则更简单)
- 同步:在S3上传回调之后,使用API调用将URL(可以使用bucket name+path+file name生成URL)保存在DynamoDB中
- 异步:将带有S3触发器的事件驱动管道保存到Lambda,以保存到DynamoDB
注意:在这里,我没有提到任何比其他方法更好的方法,因为每种方法都有各自的优缺点。谢谢Ashan!你的建议很彻底。我搜索了签名的URL和cognito用户池,找到了这个。从这个角度看,这两种需求似乎都存在。您能帮助我更好地理解如何实现签名URL和/或cognito吗?