Dav*_*aiz 2 fs amazon-web-services node.js aws-lambda
我需要将从 S3 获取的文件保存到 Lambda 的文件系统中,我想知道是否可以简单地使用fs.writeFileSync?
或者我是否仍然必须使用context此处描述的功能:
How to Write and Read files to Lambda-AWS with Node.js
(试图找到更新的例子,但找不到)。
推荐的方法是什么?
请指教。
是的,您可以使用典型的 fs 函数从本地磁盘读取/写入,但请注意,写入仅限于目录/tmp,并且该位置中 Lambda 函数可用的默认最大磁盘空间为 512 MB。另请注意,写入其中的文件可能会持续到下一次(热)Lambda 调用。
如果您只想将对象从 S3 下载到本地磁盘(假设它适合可用磁盘空间),那么您可以结合 AWS SDK 方法和 Node.js 流式传输将内容流式传输到磁盘。
另外,值得注意的是,根据您的应用程序,您可能能够通过流处理 RAM 中的整个 S3 对象,而无需实际保留到磁盘。如果您的对象大小超过 512MB,这会很有帮助。
更新:自 2022 年 3 月起,您现在可以使用更多临时存储/tmp(最多 10 GB)配置 Lambda 函数。您将获得 Lambda 函数调用中包含的 512 MB 存储空间,并需要为超过 512 MB 的额外配置存储付费。
如果您需要保留非常大的文件,请考虑使用弹性文件系统。
| 归档时间: |
|
| 查看次数: |
4340 次 |
| 最近记录: |