通过 Amazon API 网关和 lambda 上传图像
Uploading an image through Amazon API gateway and lambda
我有一个 REST API API gateway
和 Lambda
。
我不想创建用于上传个人资料图片的端点,该端点将文件传递给 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 路径。
我有一个 REST API API gateway
和 Lambda
。
我不想创建用于上传个人资料图片的端点,该端点将文件传递给 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 路径。