首页 > 解决方案 > 如何在 AWS 中创建并行访问 S3 和 lambda 的 API?

问题描述

语境

我想构建一个使用 multipart/form-data 一起接受文件和文本参数的 API。AWS Lambda 然后对文件执行操作并返回一些文本。例如

curl -X POST \
  http://my-endpoint.com \
  -F lang=eng \ 
  -F config=text \ 
  -F image=@/home/myfile.jpg
#lang and config are text, image is file. Text is returned

问题

我可以构建 API 网关+lambda 或 API 网关+S3 API。但我不知道如何将它们并行组合以获得所需的效果。

编辑:并行我的意思是一个API调用开始这个序列-。
POST->在S3中保存文件->在lambda中读取文件->使用传递的变量进行处理->响应

标签: amazon-web-servicesrestamazon-s3aws-lambdaaws-api-gateway

解决方案


这里有几个我能想到的选项。

您可以让 lambda 函数为您处理 S3 操作,而不是直接在 API Gateway 和 S3 之间集成。

或者,您可以使用 Web 套接字来保持连接打开。流程将连接到 API(已建立 Web 套接字)-> POST 到 API GWAY + API -> s3 put 触发器 LAMBDA -> Lambda 进程并通过 websock 响应。

第一种方法可能更容易实现。


推荐阅读