AWS:大文件上传 - API 网关和 Lambda - 最佳实践

AWS: Large File Upload - API Gateway & Lambda - Best Practices

我需要用户能够向 AWS Lambda 函数提供一个 15 MB XML 文件以使其执行操作,并且 return 另一个 XML 文件返回到用户。这是 "application" 唯一要做的事情。 XML 文件中的数据是半敏感的,在文件 returned 后不应保存在任何地方。

处理此问题的最佳做法是什么? The API Gateway appears to have a payload size limit of 10mb,所以我不能只上传它。

我看到一些关于将文件直接上传到 S3,然后让该操作自动触发 Lambda 函数的参考资料。但是,在这种情况下,用户如何从 Lambda 函数 returned 中获取输出文件?我真的不想让它长时间坐着。

我希望这个应用程序尽可能简单。

如果您正在考虑为此目的使用 S3 并使整个过程异步,您的 Lambda 函数也可以将输出写入 S3,然后生成预先签名的 url 到文件并将其发送回用户。您可以在 S3 存储桶上设置生命周期策略以在不再需要文件时将其删除,或者让另一个 Lambda 函数根据通知删除它们。