amazon-s3 - 使用 S3 进行分段上传会克服 Lambda 6MB 请求负载限制吗?
问题描述
我正在制作一个 lambda 函数,它将生成一个 pdf 文件,然后需要将其发送到 S3。
该文件是在 lambda 函数中生成的,因此我无法使用预签名的 url 从客户端上传它,因为客户端没有该文件。生成的文件不会在 512MB(lambda /tmp 存储限制)的范围内,但会超过 6MB。
我还不确定是否应该将其转换为容器,因为 lambda 的最大请求负载为 6MB。
想到的一个想法是使用 s3 multipart-upload 并将这些部分上传到 4MB 的块中。
但这真的能解决问题吗?还是我应该只创建一个容器?
考虑到 lambda 成本节省,有办法绕过 lambda 6MB 限制对我来说将是非常有益的。
解决方案
6 MB 限制适用于您在同步调用中发送回用户或从用户接收的数据。您可以将结果上传到 S3 并向调用者发送一个指向该对象的预签名 URL,这是一种常见的模式,并且让您远离 6 MB 的限制。
Src:Lambda 限制文档
推荐阅读
- azure - 本地服务器上的运行应用程序在 Azure 上失败
- amazon-web-services - 如何为 ECS 服务/任务上的 HTTP 4XX/5XX 设置 Cloudwatch 警报?
- symfony - 使用 KnpPaginatorBundle 在 symfony 4 中进行分页
- java - 没有这样的表:main.course_name
- c++ - 如何在 C++ 中创建大型数组(如 60 亿)?
- javascript - 从 JavaScript 中的函数返回结果后如何处理函数的意外错误?
- blockchain - 新的区块链节点获取交易
- javascript - 全局变量 $_FILE 在对 Javascript 的 JSON 响应中将文件大小返回为 0
- apache - 我可以创建一个 Logstash 管道,它将 Apache Web 日志和来自 Mysql 数据库(基于日志)的查询作为输入?
- python - 如何从 Google Cloud Storage 存储桶加载保存在 joblib 文件中的模型