Am o problemă pentru a-mi construi handlerul lambda. Încerc să folosesc biblioteca sharp pentru a redimensiona imaginea pe S3.
Codul meu:
S3.getObject({
Bucket: bucketName,
Cheie: objectKey
}, (err, date) => {
SHARP(data.Body).resize(250, 250).toFormat("jpg").toBuffer().then((buffer) => {
S3.putObject({
Corp: tampon,
Bucket: bucketName,
Cheie: objectKey,
ContentType: „imagine/jpeg”,
ContentDisposition: „inline”,
})
})
});
Dependența nodului meu:
„dependențe”: {
"aws-sdk": "^2.637.0",
"dotenv": "^10.0.0",
"mysql": "^2.18.1",
"sharp": "^0.29.1",
„util”: „^0.12.4”
},
„devDependencies”: {
"esbuild": "^0.12.27",
"nodemon": "^2.0.12"
}
Codul meu de construit:
esbuild --bundle --minify --platform=node --target=node12 --outdir=build index.js && cd build && zip index.js.zip index.js
Eroare AWS Lambda:
Nu se găsește modulul „../build/Release/sharp-linux-x64.node”
Necesită stiva:
- /var/task/index.js
- /var/runtime/UserFunction.js
- /var/runtime/index.js
Solutii posibile:
- Instalați cu indicatorul --verbose și căutați erori: "npm install --ignore-scripts=false --verbose sharp"
- Instalați pentru timpul de rulare curent: „npm install --platform=linux --arch=x64 sharp”
- Consultați documentația de instalare: https://sharp.pixelplumbing.com/install