首页 > 解决方案 > 使用 aws lambda 作为 s3 的无服务器输入清理代理

问题描述

我希望使用预签名的 url (S3) 直接从客户端上传图像,并且我一直遇到这两个障碍: 

  1. 潜在的恶意文件和清理输入的需要(在我的例子中是图像)。
  2. 一次可能恶意上传太多文件。

显然这不能在客户端上完成,因为弱点仍然会暴露出来。监视文件扩展名,据我所知,这可以使用 aws s3 存储桶策略来完成,这并不是解决这个问题的真正方法 - 实际上我会寻找文件清理 SDK(对于这个项目,我正在使用节点,所以完成这个服务器-side 会很简单)。
AWS Lambda 可以提供这种类型的功能吗?对于这个用例,使用 Lambda 是否仍然有意义?在我看来,通过 lambda 将图像管道传输到 s3 以在服务器端管道上“保存”有点愚蠢,考虑到仍然需要双重上传。

标签: javascriptamazon-web-servicesvalidationamazon-s3aws-lambda

解决方案


如果您根据需要生成预签名的 url,并根据您的用例保持其活动状态。因此,在这种情况下,预签名的 url 在您需要时是实时的,并且对于所有客户端都是不同的。


推荐阅读