AWS Lambda EFS | EACCES:权限被拒绝
AWS Lambda EFS | EACCES: permission denied
因此,我正在尝试将我的 lambda 函数与 EFS 集成。我可以访问根目录(从 lambda 只读),因为我可以在我的根目录中看到 xyz
目录。 /mnt/
-> xyz
当我尝试访问 /mnt/xyz
或 /mnt/xyz/
时出现此错误:
{
"errorType": "Error",
"errorMessage": "EACCES: permission denied, scandir '/mnt/xyz/'",
"trace": [
"Error: EACCES: permission denied, scandir '/mnt/xyz/'",
" at Object.readdirSync (fs.js:948:3)",
" at Runtime.exports.handler (/var/task/index.js:19:24)",
" at Runtime.handleOnce (/var/runtime/Runtime.js:66:25)"
]
}
授予访问点的权限:777
我试图复制这个问题,并且可以验证我是否遇到了同样的问题。帮助来自以下 GitHub 问题:EFS permission denied.
权限被拒绝是由于在访问点和lambda中分别设置了不正确的root和本地挂载点。 有效的正确设置是:
接入点(注意/lambda
)
Lambda(注/mnt/lambda
)
这些设置可以成功访问 EFS。
我面临的问题与 user/group id(所有权)有关。该文件由应用程序 运行 在 AWS EC2 实例上生成并由 AWS Lambda 函数使用。
要查找 owner/group 个文件,请使用 cmd ls -al
要查找 owner/group ID 使用 cmd ls -n
作为由 root (UID: 0) 生成的文件,我需要在 EFS 访问点
将 owner id
和 group id
设置为 0
此配置解决了我的问题。
因此,我正在尝试将我的 lambda 函数与 EFS 集成。我可以访问根目录(从 lambda 只读),因为我可以在我的根目录中看到 xyz
目录。 /mnt/
-> xyz
当我尝试访问 /mnt/xyz
或 /mnt/xyz/
时出现此错误:
{
"errorType": "Error",
"errorMessage": "EACCES: permission denied, scandir '/mnt/xyz/'",
"trace": [
"Error: EACCES: permission denied, scandir '/mnt/xyz/'",
" at Object.readdirSync (fs.js:948:3)",
" at Runtime.exports.handler (/var/task/index.js:19:24)",
" at Runtime.handleOnce (/var/runtime/Runtime.js:66:25)"
]
}
授予访问点的权限:777
我试图复制这个问题,并且可以验证我是否遇到了同样的问题。帮助来自以下 GitHub 问题:EFS permission denied.
权限被拒绝是由于在访问点和lambda中分别设置了不正确的root和本地挂载点。 有效的正确设置是:
接入点(注意/lambda
)
Lambda(注/mnt/lambda
)
这些设置可以成功访问 EFS。
我面临的问题与 user/group id(所有权)有关。该文件由应用程序 运行 在 AWS EC2 实例上生成并由 AWS Lambda 函数使用。
要查找 owner/group 个文件,请使用 cmd ls -al
要查找 owner/group ID 使用 cmd ls -n
作为由 root (UID: 0) 生成的文件,我需要在 EFS 访问点
将owner id
和 group id
设置为 0
此配置解决了我的问题。