我想要的
一个API,它使用POST获取文件和一些参数,并返回一个JSON响应。
curl -X POST www.endpoint.com \
-F file=@/myfile.txt \
-F foo=bar # other params我使用二进制数据处理Lambda + API网关,但问题是10 is限制。
我考虑过将文件上传到S3的POST API。然后由Lambda读取生成的事件。但在这方面我没什么问题-
发布于 2019-11-22 14:27:24
如果您想坚持使用无服务器解决方案,那么一个API调用就不可能使用您的用例。
一个可能的无服务器解决方案将是客户端的三个步骤过程。
第一步
打电话给api1以获得S3的签名url。这将指向创建UUID的Lambda,并使用该UUID为S3构造一个签名的URL (即使用UUID作为所接收文件的文件名)。响应将是URL和UUID。
第二步
使用签名的URL将文件放入s3。
第三步
调用api2并传递UUID和所需的任何其他参数。这个api还指向一个Lambda,它现在知道文件在哪里(多亏了UUID),并且具有处理文件和给出响应所需的任何其他参数。
发布于 2019-11-22 14:26:15
在API网关上有一个端点,该端点生成预先签名的URL,用于将文件上载到S3。然后,客户端应用程序可以调用该端点来获取预先签名的URL,然后它可以将文件上传到S3。然后,您可以拥有一个Lambda函数,该函数由S3桶中的新对象触发,该对象将从S3读取文件并对其进行处理。
要在文件中添加额外的参数,您可以使用以下几个选项:
https://stackoverflow.com/questions/58993864
复制相似问题