通过 Amazon API 网关和 lambda 上传图像

Uploading an image through Amazon API gateway and lambda

我有一个 REST API API gatewayLambda。 我不想创建用于上传个人资料图片的端点,该端点将文件传递给 Lambda 函数,在该函数中调整大小,将其注册到数据库并返回新文件的 url 路径图片。

有什么方法可以使用这些服务吗? 在网上找不到任何东西(我找到的唯一建议是直接上传到 S3,这需要 IAM 权限,并且有一个事件触发调整图片大小的 Lambda 函数)。

谢谢

更新

AWS 更新了 APIGATEWAY 并且知道您可以 send binaries through an endpoint
感谢@blue 和@Manzo 的评论

将文件直接上传到 S3 不一定需要 IAM 权限。您将创建一个 API 端点,该端点 returns 一个 pre-signed S3 URL,然后可用于将文件直接上传到 S3。 API 端点后面的 Lambda 函数将是唯一需要 S3 存储桶的正确 IAM 权限的东西。

由于API Gateway 和Lambda 当前不支持本地,您可以将文件传递给base64 编码的图片到API Gateway,然后传递给Lambda 函数。您的 Lambda 函数可以基于 64 位解码,然后调整大小,将其注册到数据库并返回新图像的 url 路径。