首页 > 解决方案 > “SAM 本地调用”是否支持 EFS?

问题描述

我正在使用 Lambda 访问 EFS,如https://docs.aws.amazon.com/lambda/latest/dg/configuration-filesystem.html中所述

lambda 函数在 AWS 中运行时运行良好,但在将 SAM 与“本地调用”命令一起使用时会失败。错误是

2020-10-02T20:03:19.389Z        09b6f1b2-d80a-15e1-9531-f74182e95c1e    ERROR   Invoke Error    
{
   "errorType":"Error",
   "errorMessage":"ENOENT: no such file or directory, open '/mnt/efs/newfile.txt'",
   "code":"ENOENT",
   "errno":-2,
   "syscall":"open",
   "path":"/mnt/efs/newfile.txt",
   "stack":[
      "Error: ENOENT: no such file or directory, open '/mnt/efs/newfile.txt'",
      "    at Object.openSync (fs.js:458:3)",
      "    at Object.writeFileSync (fs.js:1355:35)",
      "    at WriteFile (/var/task/src/apis/permissions/isallowed.js:70:8)",
      "    at IsAllowedInPolicy (/var/task/src/apis/permissions/isallowed.js:52:5)",
      "    at Runtime.exports.handler (/var/task/src/apis/permissions/isallowed.js:16:28)",
      "    at Runtime.handleOnce (/var/runtime/Runtime.js:66:25)"
   ]
}

“sam local invoke”是否应该与 EFS 一起使用?

标签: aws-lambdaaws-sam-cli

解决方案


答案是不。

我向 AWS 开了一张支持票并被告知

这是 AWS SAM CLI 的限制,而不是您的配置。因此,我已主动代表您向我们的内部服务团队(特别是 AWS SAM CLI 服务团队)提交内部功能请求,并在此请求中添加了您的公司名称和声音。目前,我们无法估计是否或何时支持此功能。我建议您不时查看 AWS 公告页面以了解未来的服务更新。https://aws.amazon.com/new/

我还发现有人在 GitHub 上提交了功能请求作为解决方法


推荐阅读