在AWS Lambda中挂载S3文件系统?

时间:2018-06-22 07:10:52

标签: amazon-web-services amazon-s3 filesystems aws-lambda

您是否知道是否可以通过AWS S3挂载文件系统以增加AWS Lambda存储?

4 个答案:

答案 0 :(得分:5)

不能将Amazon S3挂载为与AWS Lambda一起使用的文件系统。

AWS Lambda函数被设计为短运行脚本,用于响应您环境中的事件(例如,数据进入Kinesis流,在Amazon S3中创建文件)。它们通常只运行几秒钟。

虽然您没有描述用例,但是需要大量使用文件系统的东西通常不能很好地使用Lambda函数。

您当然可以通过Lambda函数通过SDK调用在Amazon S3中检索并创建对象。这是从Lambda加载/存储数据的非常快速有效的方法。

答案 1 :(得分:4)

lambda随附的存储空间实际上是临时磁盘空间,只能在lambda执行期间用于临时存储。它被限制为 512 Mb ,并且无法增加。

如果用例需要的lambda空间超出了您可以直接从s3存储和检索对象的空间。它非常快速和高效。而且,s3不提供文件系统,它只是基于对象的存储,每个文件夹,子文件夹,每个文件都代表s3中的 object ,实际上看起来像是一个层次结构,但实际上并非如此

虽然lambda中的临时磁盘空间具有分层文件结构

答案 2 :(得分:3)

在最近对AWS进行功能更新之后,您现在可以将EFS装入Lambda文件系统中: https://aws.amazon.com/blogs/compute/using-amazon-efs-for-aws-lambda-in-your-serverless-applications/

答案 3 :(得分:0)

要解决 https://stackoverflow.com/a/50982764/1259398 中的评论:

您似乎混淆了 Python 库 s3fs,它模拟文件系统,但它是 Boto 之上的库,s3fs-fuse 模块将 S3 存储桶“挂载”在指定文件夹下,并且可以访问整个操作系统就像是一个普通的分层 FS。

参考文献: