Stocarea modul nod pe găleată S3 pentru AWS Lambda

0

Problema

Am dezvoltat o nodejs bazate pe funcția/program și doriți să-l rulați pe AWS Lambda. Problema este că dimensiunea este mai mare de 50MB și AWS Lambda sprijină funcție directă de cod să fie sub 50MB.

În principal pe codul meu nodul module sunt de 43MB și codul actual este de aproximativ 7MB. Deci există nici un fel pot să-mi desfac nodul module de cod, Poate fi, dacă putem stoca nodul module în găleată S3 și apoi accesați-l de pe AWS Lambda? Orice sugestii ar fi de ajutor. Multumesc

P. S: din Cauza unor probleme de dependențe nu pot rula această funcție ca un Docher imaginea de pe Lambda.

amazon-web-services aws-lambda node.js
2021-11-23 22:10:38
2
1

Dacă nu doriți sau nu pot folosi Docker ambalaj, puteți zip up node_modules într-o găleată S3.

Dvs. handler (sau modulul conține handler), pot apoi descărca arhiva zip și extrage fișiere pentru a /tmp. Apoi, ai require() modulele de acolo.

Descrierea de mai sus face sa nu fie 100% corecte deoarece există multe moduri de a face aceasta. Dar asta e ideea generala.

Aceasta este o metodă de implementare care zappa, un instrument pentru implementarea Python/Django aplicații la AWS Lambda, a sprijinit cu mult înainte de docker containere au fost permise în Lambda.

https://github.com/Miserlou/Zappa/pull/548

2021-11-23 22:49:27
1

Puteți folosi lambda straturi , care este o potrivire perfecta pentru cazul dumneavoastră de utilizare. Cu ceva timp în urmă, avem nevoie de a utiliza facebook sdk pentru una din proiectul nostru și ne-am creat o lambda strat de facebook sdk(32 mb) și apoi pachetul de implementare a devenit doar 4 KB.

Este declarat ca

Folosind straturi se poate face mai repede pentru a implementa aplicații cu AWS Serverless Cerere Model (AWS SAM) sau fără server-cadru. Prin mutarea de execuție dependențele din funcția de cod de la un strat, acest lucru poate ajuta reduce the overall size of the archive încărcate în timpul de implementare.

Singură funcție Lambda poate utiliza până la five layers. Dimensiunea maximă a total dezarhivat funcția și toate straturile este 250 MB care este cu mult dincolo de limitele tale.

2021-11-24 17:39:02

În alte limbi

Această pagină este în alte limbi

Русский
..................................................................................................................
Italiano
..................................................................................................................
Polski
..................................................................................................................
한국어
..................................................................................................................
हिन्दी
..................................................................................................................
Français
..................................................................................................................
Türk
..................................................................................................................
Česk
..................................................................................................................
Português
..................................................................................................................
ไทย
..................................................................................................................
中文
..................................................................................................................
Español
..................................................................................................................
Slovenský
..................................................................................................................