Я создал лямбда-функцию, которая опирается на некоторые зависимости в папке node_modules.
Я изначально создал лямбду с папкой node_modules внутри, и она отлично работала при тестировании.
Затем я создал слой, загрузил в него папку node_modules и установил для среды выполнения Node.js 8.10.
Затем я добавил слой к лямбде, создал политику со следующим JSON и добавил политику к роли, связанной с лямбда:
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": "lambda:GetLayerVersion",
"Resource": "*"
}
]
}
Когда я тестирую лямбду, то зависимости, которые я пытаюсь включить из папки node_modules, расположенной в связанном слое, не обнаруживаются.
Обновление:
Я также выполнил следующую команду:
aws лямбда-версия-разрешения-уровня-слоя -layer-name node_modules - версия-номера 2 \
--statement-id publish - Действие лямбда: GetLayerVersion --principal "*"
Но проблема не решена.