AWS Lambda EFS | EACCES: разрешение отклонено

Итак, я пытаюсь интегрировать свою лямбда-функцию с EFS. Я могу получить доступ к корневому каталогу (только для чтения из лямбда), поскольку я вижу каталог 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


person Nishant Thapliyal    schedule 18.08.2020    source источник


Ответы (2)


Я попытался воспроизвести проблему и могу подтвердить, что у меня была та же проблема. Помощь пришла из следующей проблемы github: отказано в разрешении EFS.

Отказ в разрешении был вызван неправильно заданными корневой и локальной точкой монтирования в точке доступа и лямбде соответственно. Правильные настройки, которые работали:

Точка доступа (примечание /lambda)

введите здесь описание изображения

Лямбда (примечание /mnt/lambda)

введите здесь описание изображения

Эти настройки обеспечивают успешный доступ к EFS.

person Marcin    schedule 18.08.2020
comment
Спасибо за подробный ответ. Однако в моем случае этого не произошло, поскольку я смог получить доступ к корневому каталогу (напечатайте xyz dir [подкаталог внутри efs] в лямбда-консоли). Удивительно оказалось, что проблема с идентификатором пользователя/группы. - person Nishant Thapliyal; 18.08.2020
comment
@NishantThapliyal Спасибо, что сообщили мне. Рад, что в итоге получилось :-) - person Marcin; 19.08.2020
comment
У меня была именно та проблема, которую вы описали. Спасибо @Marcin - person Ring; 10.10.2020
comment
@NishantThapliyal Привет. Если мой ответ был полезен, его принятие будет оценено. - person Marcin; 10.10.2020
comment
@NishantThapliyal, как вы решили проблему с идентификатором пользователя/группы? - person Paulo; 12.01.2021
comment
@ Paulo Я разместил подробный ответ ниже. - person Nishant Thapliyal; 13.01.2021

Итак, проблема, с которой я столкнулся, была связана с идентификатором пользователя/группы (право собственности). Файл был создан приложением, работающим в экземпляре AWS EC2, и использован функцией AWS Lambda.

  • Чтобы найти владельца/группу файлов, используйте cmd ls -al введите здесь описание изображения

  • Чтобы найти ID владельца/группы, используйте cmd ls -n введите здесь описание изображения

  • Поскольку файл создается корнем (UID: 0), мне нужно установить owner id и group id как 0 в точке доступа EFS введите здесь описание изображения

Эта конфигурация решила мою проблему.

person Nishant Thapliyal    schedule 13.01.2021