amazon-web-services - AWS Lambda 生成大型文件到 S3
问题描述
目前我们有一个 aws lambda(基于 java 的运行时),它以 SNS 作为输入,然后执行业务逻辑并生成 1 个 XML 文件,将其存储到 S3。
现在的实现是在 .tmp 位置创建 XML,我们知道 aws lambda (500mb) 有空间限制。
我们有什么办法仍然使用 lambda,但可以在不使用 .tmp 文件夹的情况下将 XML 文件流式传输到 S3?
我做了研究,但仍然没有找到解决方案。
谢谢你。
解决方案
如果您可以将文件拆分为块并且不需要在处理文件结尾时更新文件的开头,则可以使用分段上传提供准备就绪的块,然后为下一个块释放内存。
否则,您仍然需要临时存储 XML 的所有部分。您可以使用 DynamoDB 或 Redis,当您在那里收集 XML 的所有部分时,您可以开始逐部分上传,然后清理数据库(或设置 TTL 以自动清理)。
推荐阅读
- python - 是否有内置的 Python3 用于格式化代表多项式的前导系数的字符串?
- google-chrome-extension - 如何在扩展中嵌入来自 CSP 限制域的页面?
- c - 如何将 char 参数从 VB6 应用程序传递给 C DLL?
- javascript - JavaScript:附加到 .CSV 的顶部
- dynamics-crm - Dynamics 365 - 未过期的许可证密钥?服务器 2 服务器身份验证
- c# - 我需要能够使用 Pcap.Net 填充 tcp 数据包的以太网层
- javascript - 如何在 JavaScript 中自定义 LISP 中编写宏扩展
- java - 关闭 AutoCloseable 的正确方法
- ruby - 通过 HTTP PUT 上传数据,无需多部分装订线
- angular - angular2-multiselect:搜索不工作的延迟加载