Ошибка AWS Lambda - нет такого файла или каталога

Я развернул некоторый код лямбда-выражения AWS и получаю следующую ошибку:

ENOENT No such file or directory found var/task/../data/cacert.pem

Файл, который он ищет, находится в лямбде, см. Изображение ниже:

Я использовал webpack, чтобы добавить туда файл:

      {
   from: 'node_modules/tinify/lib/data/cacert.pem', to: 'app/../data/cacert.pem'
}

Может ли кто-нибудь помочь мне понять, что вызывает это?

1 ответ

У вас ошибка в коде, импортирующем сертификат. Вы неправильно строите путь.

Вам следует использовать следующее:

      const path = require('path');
const fs = require('fs');

const cert = fs.readFileSync(path.join(__dirname, './data/cacert.pem')).toString();

path.join построит правильный путь на основе местоположения файла обработчика и относительного пути между обработчиком и сертификатом.

Другие вопросы по тегам