我正在尝试将文件从 iOS 上传到 AWS API Gateway 并将其传递给 Lambda 函数,我该如何实现这个场景?
我可以使用multipart/form-data上传到 AWS API Gateway 但如何使输入模型支持二进制数据?
[Edit1] 从 Spektre 的回答中移出
感谢您的回复,经过一番阅读,我发现无法将文件上传到 lambda(这不合逻辑,因为它是基于事件的),并且是上传到 S3 并使 S3 通知 lambda 的唯一有效用例。
我正在尝试将文件从 iOS 上传到 AWS API Gateway 并将其传递给 Lambda 函数,我该如何实现这个场景?
我可以使用multipart/form-data上传到 AWS API Gateway 但如何使输入模型支持二进制数据?
[Edit1] 从 Spektre 的回答中移出
感谢您的回复,经过一番阅读,我发现无法将文件上传到 lambda(这不合逻辑,因为它是基于事件的),并且是上传到 S3 并使 S3 通知 lambda 的唯一有效用例。
我强烈建议S3
使用AWS SDKs
. AWS Lambda
最适合处理事件,而不是像上传这样的内容传输。您可以查看它的计费和限制,以更明智地决定它是否真的是您正在寻找的东西。
API Gateway 增加了对 S3 代理的支持。这允许您将文件上传直接公开到 S3。
如果想通过 lambda 上传文件,一种方法是打开您的 AWS API Gateway 控制台。
去
“API” -> {YourAPI} -> “设置”
在那里你会找到“二进制媒体类型”部分。
添加以下媒体类型:
多部分/表单数据
保存您的更改。
然后转到“资源”->“代理方法”(例如“ANY”)->“方法请求”->“HTTP 请求标头”并添加以下标头“Content-Type”、“接受”。
最后部署你的 api。