Memorizzazione di nodo del modulo S3 secchio per AWS Lambda

0

Domanda

Ho sviluppato un nodejs a base di funzione/programma e si desidera eseguire sul AWS Lambda. Il problema è che la dimensione è maggiore di 50 MB e AWS Lambda supporta la funzione diretta di codice sotto 50MB.

Principalmente il mio codice il nodo del modulo sono di 43MB e il codice effettivo è di circa 7MB. Quindi non vi è alcun modo per separare la mia nodo modulo dal codice, Può essere, se siamo in grado di memorizzare il nodo moduli S3 secchio e quindi l'accesso è su AWS Lambda? Qualsiasi suggerimento sarebbe utile. Grazie

P. S: a Causa di alcuni problemi di dipendenze non posso eseguire questa funzione, come una finestra Mobile di immagine Lambda.

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

Se non si desidera o non si può usare la finestra Mobile di imballaggio, è possibile comprimere i tuoi node_modules in un S3 secchio.

Il handler (o il modulo contenente il gestore), è possibile scaricare l'archivio zip ed estrarre i file /tmp. Quindi, si require() i moduli da lì.

La descrizione di cui sopra non essere accurato al 100% in quanto vi sono molti modi di farlo. Ma l'idea generale.

Questo è un metodo di distribuzione che zappa, uno strumento per la distribuzione di Python/Django apps AWS Lambda, ha sostenuto a lungo prima di finestra mobile contenitori sono stati ammessi in Lambda.

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

2021-11-23 22:49:27
1

Si può utilizzare lambda strati , che è una misura perfetta per il vostro caso d'uso. Qualche tempo fa, abbiamo bisogno di usare facebook sdk per un nostro progetto e abbiamo creato un lambda per lo strato di facebook sdk(32 mb) e poi il pacchetto di distribuzione è diventato solo 4 KB.

Si afferma come

Utilizzando strati può rendere più veloce il deploy di applicazioni con AWS Serverless Modello di Domanda (AWS SAM) o il Serverless quadro. Spostando dipendenze di runtime dal codice di funzione a un livello, questo può aiutare reduce the overall size of the archive caricate durante una distribuzione.

Singola funzione Lambda può utilizzare fino a five layers. La dimensione massima del totale decompresso funzione e tutti i livelli è 250 MB che è ben oltre i tuoi limiti.

2021-11-24 17:39:02

In altre lingue

Questa pagina è in altre lingue

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