Ukládání uzlu modulu na S3 kbelíku pro AWS Lambda

0

Otázka

Vyvinul jsem nodejs na základě funkce/program, a chcete jej spustit na AWS Lambda. Problém je, že velikost je větší než 50MB a AWS Lambda podporuje přímý kód funkce pod 50 MB.

Hlavně na můj kód uzlu modulu jsou 43MB a skutečný kód je kolem 7MB. Takže je tam nějaký způsob, jak mohu oddělit své uzlu modulu od kódu, Může být, pokud můžeme ukládat uzlu moduly v S3 kbelíku a pak přístup na AWS Lambda? Jakékoli návrhy by bylo užitečné. Díky

P. S: Vzhledem k některým závislostem otázky nemohu spustit tuto funkci jako Docker image na Lambda.

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

Pokud nechcete nebo nemůžete používat Docker balení, můžete zapnout váš node_modules do S3 kbelíku.

Vaše handler (nebo modul obsahující handler), může pak si stáhněte zip archiv a rozbalte soubory do /tmp. Pak, require() moduly od tam.

Výše uvedený popis se nemusí být 100% přesné, protože existuje mnoho způsobů, jak dělat to. Ale to je obecná představa.

To je jeden způsob instalace, že zappanástroj pro nasazení Python/Django aplikací na AWS Lambda, podporuje dlouho předtím, než docker kontejnery byly povoleny v Lambda.

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

2021-11-23 22:49:27
1

Můžete použít lambda vrstvy , která je perfektní pro váš případ použití. Před časem, musíme použít facebook sdk pro jeden náš projekt a vytvořili jsme lambda vrstva pro facebook sdk(32 mb) a pak balíček nasazení se stal pouze 4 KB.

To je uvedeno jako

Pomocí vrstev můžete to udělat rychleji nasadit aplikace s AWS Serverless Aplikace Modelu (AWS SAM) nebo Serverless rámce. Pohybem runtime závislostí z vašeho kódu funkce na vrstvu, to může pomoci reduce the overall size of the archive nahrané během nasazení.

Jeden Lambda funkce může použít až five layers. Maximální velikost celkového rozbalili funkce a všechny vrstvy je 250 MB což je daleko za své hranice.

2021-11-24 17:39:02

V jiných jazycích

Tato stránka je v jiných jazycích

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