我尝试将文件从iOS上传到AWS API网关并将其传递给Lambda函数,我该如何实现这种情况?
我可以使用 multipart / form-data 上传到AWS API Gateway但是如何使输入模型支持二进制数据?
[Edit1]已从Spektre的回答
移出谢谢你的回复,经过一番阅读后,我发现没有办法将文件上传到lambda(并且它不合逻辑,因为它基于事件)并且唯一有效的用途上传到S3并使S3通知lambda的案例。
答案 0 :(得分:12)
我强烈建议您使用其中一个S3
直接上传AWS SDKs
。 AWS Lambda
适合处理短事件,而非上传等内容传输。您可以查看其结算和限额,以便做出更明智的决定,看看它是否真的是您正在寻找的。 p>
答案 1 :(得分:9)
API Gateway已添加对S3代理的支持。这允许您直接将文件上传到S3。
答案 2 :(得分:0)
如果要通过lambda上传文件,一种方法是打开您的AWS API Gateway控制台。
转到
“ API”-> {YourAPI}->“设置”
您将在其中找到“二进制媒体类型”部分。
添加以下媒体类型:
multipart / form-data
保存您的更改。
然后转到“资源”->“代理方法”(例如“ ANY”)->“方法请求”->“ HTTP请求标头”,并添加以下标头“ Content-Type”,“ Accept”。 / p>
最后部署您的api。