Puncte:0

Eroare AWS Lambda la build Node cu Sharp Library

drapel jp

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
Tim avatar
drapel gp
Tim
Această întrebare ar putea fi mai bună în cazul defecțiunii serverului. Mesajul spune că nu poate găsi ascuțit, dar exact de ce este mai mult o întrebare pentru dezvoltatori decât pentru oamenii de infrastructură cred. Folosesc AWS SAM pentru a realiza implementări ale vreunui bit de software pe care trebuie să îl implementez
Matheus Pereira avatar
drapel jp
M-am gândit la AWS SAM, dar cum sunt nou pe această lume, mi-e teamă să configurez asta într-o mașină de dezvoltare, dar este o modalitate bună, pot încerca asta. Mulțumesc pentru sfaturi, @Tim!
Tim avatar
drapel gp
Tim
AWS SAM poate ajuta cu dependențe și implementare. Mi s-a părut mai ușor decât să încerc să fac ambalaje și altele. Nu este foarte complex, dar este nevoie de puțin timp pentru a învăța și a lucra, dar ar trebui, sperăm, să economisească timp în general.

Postează un răspuns

Majoritatea oamenilor nu înțeleg că a pune multe întrebări deblochează învățarea și îmbunătățește legătura interpersonală. În studiile lui Alison, de exemplu, deși oamenii își puteau aminti cu exactitate câte întrebări au fost puse în conversațiile lor, ei nu au intuit legătura dintre întrebări și apreciere. În patru studii, în care participanții au fost implicați în conversații ei înșiși sau au citit transcrieri ale conversațiilor altora, oamenii au avut tendința să nu realizeze că întrebarea ar influența – sau ar fi influențat – nivelul de prietenie dintre conversatori.