每个用Lambda处理过S3文件的人,都写过同一套代码。事件触发,函数唤醒,先把对象下载到/tmp,处理完再上传回去,最后清理空间免得10GB额度爆掉。同样的仪式,每个文件、每次调用、管道里的每个函数都要来一遍。
AWS新推出的S3 Files改写了这个剧本。它把S3桶直接挂载成本地文件系统,代码里只用open()就行。我搭了套AI代码审查代理,多个代理共享一个挂载的工作空间,由持久化函数编排——结果文件访问成了整个项目里最无聊的部分。这正是重点。
![]()
/tmp税
![]()
S3给的是对象,不是文件。这个区别意味着每次读写都要经过下载-处理-上传的完整链条。更麻烦的是数据共享:多个函数处理同一批数据时,各自下载副本,各自管理/tmp,大仓库或数据集很快就把额度吃光。
s3fs、smart_open这类库能减轻痛苦,但底层仍在调API。代码还是在通过SDK跟S3对话,而非直接操作文件系统。
S3 Files的解法
![]()
新功能把S3桶挂载为本地路径如/mnt/workspace,读写直接走文件路径。S3 Files负责与桶同步:写入后几分钟内同步到S3,S3变更则在几秒内反映到文件系统。
底层基于Amazon EFS,热数据缓存在高性能存储上实现亚毫秒延迟,大文件顺序读取则直接从S3流式传输。文件系统成了接口本身,不再需要boto3、/tmp管理或上传步骤。
我这套AI代理的共享工作空间就是这么搭的——持久化函数调度多个代理协作,文件在它们之间流转,代码却平淡得像在本地跑脚本。
特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。
Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.