ฉันมีปัญหาในการสร้างตัวจัดการแลมบ์ดาของฉัน ฉันกำลังพยายามใช้ Sharp Library เพื่อปรับขนาดภาพบน S3
รหัสของฉัน:
S3.getObject({
ที่เก็บข้อมูล: ชื่อถัง,
คีย์: objectKey
}, (ผิดพลาด, ข้อมูล) => {
SHARP(data.Body).resize(250, 250).toFormat("jpg").toBuffer().then((buffer) => {
S3.putObject({
ร่างกาย: บัฟเฟอร์,
ที่เก็บข้อมูล: ชื่อถัง,
คีย์: objectKey,
ประเภทเนื้อหา: "รูปภาพ/jpeg",
การจัดการเนื้อหา: "แบบอินไลน์",
})
})
});
การพึ่งพาโหนดของฉัน:
"การพึ่งพา": {
"aws-sdk": "^2.637.0",
"dotenv": "^10.0.0",
"mysql": "^2.18.1",
"คม": "^0.29.1",
"ใช้งาน": "^0.12.4"
},
"devDependencies": {
"สร้าง": "^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