У меня проблема с созданием обработчика лямбда. Я пытаюсь использовать четкую библиотеку для изменения размера изображения на S3.
Мой код:
S3.getObject({
Ведро: имя ведра,
Ключ: объектКей
}, (ошибка, данные) => {
SHARP(data.Body).resize(250, 250).toFormat("jpg").toBuffer().then((buffer) => {
S3.putObject({
Корпус: буфер,
Ведро: имя ведра,
Ключ: объектКей,
ContentType: "изображение/jpeg",
ContentDisposition: "встроенный",
})
})
});
Мои зависимости узла:
"зависимости": {
"aws-sdk": "^2.637.0",
"дотенв": "^10.0.0",
"mysql": "^2.18.1",
"резкий": "^0.29.1",
"утилита": "^0.12.4"
},
"devDependencies": {
"esbuild": "^0.12.27",
"узел": "^2.0.12"
}
Мой код для сборки:
esbuild --bundle --minify --platform=node --target=node12 --outdir=build index.js && cd build && zip index.js.zip index.js
Ошибка AWS Lambda:
Не удается найти модуль «../build/Release/sharp-linux-x64.node»
Требуется стек:
- /var/task/index.js
- /var/runtime/UserFunction.js
- /var/runtime/index.js
Возможные решения:
- Устанавливайте с флагом --verbose и ищите ошибки: "npm install --ignore-scripts=false --verbose sharp"
- Установить для текущей среды выполнения: «npm install --platform=linux --arch=x64 sharp»
- Обратитесь к документации по установке: https://sharp.pixelplumbing.com/install