람다 핸들러를 구축하는 데 문제가 있습니다. S3에서 이미지 크기를 조정하기 위해 Sharp 라이브러리를 사용하려고 합니다.
내 코드:
S3.getObject({
Bucket: bucketName,
Key: objectKey
}, (err, data) => {
SHARP(data.Body).resize(250, 250).toFormat("jpg").toBuffer().then((buffer) => {
S3.putObject({
Body: buffer,
Bucket: bucketName,
Key: objectKey,
ContentType: "image/jpeg",
ContentDisposition: "inline",
})
})
});
내 노드 종속성:
"dependencies": {
"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"
}
내 코드는 다음과 같습니다.
esbuild --bundle --minify --platform=node --target=node12 --outdir=build index.js && cd build && zip index.js.zip index.js
AWS 람다 오류:
Cannot find module '../build/Release/sharp-linux-x64.node'
Require stack:
- /var/task/index.js
- /var/runtime/UserFunction.js
- /var/runtime/index.js
Possible solutions:
- Install with the --verbose flag and look for errors: "npm install --ignore-scripts=false --verbose sharp"
- Install for the current runtime: "npm install --platform=linux --arch=x64 sharp"
- Consult the installation documentation: https://sharp.pixelplumbing.com/install