AWS Lambda için S3 kovasında düğüm modülünün saklanması

0

Soru

Nodejs tabanlı bir işlev / program geliştirdim ve AWS Lambda'da çalıştırmak istiyorum. Sorun, boyutun 50 MB'den büyük olması ve AWS Lambda'nın doğrudan işlev kodunun 50 Mb'ın altında olmasını desteklemesidir.

Esas olarak kodumda düğüm modülü 43MB ve gerçek kod 7MB civarındadır. Düğüm modülümü koddan ayırabilmemin herhangi bir yolu var mı, düğüm modüllerini S3 kovasında saklayıp AWS Lambda'da erişebilirsek olabilir mi? Herhangi bir öneri yararlı olacaktır. Teşekkürler

Not: Bazı bağımlılık sorunları nedeniyle bu işlevi Lambda'da Docker görüntüsü olarak çalıştıramıyorum.

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

Docker paketlemesini istemiyorsanız veya kullanamıyorsanız, node_modules'unuzu bir S3 kovasına sıkıştırabilirsiniz.

Senin handler (veya işleyicinizi içeren modül), daha sonra zip arşivini indirebilir ve dosyaları ayıklayabilir /tmp. O zaman sana require() modüllerin oradan.

Yukarıdaki açıklama, bunu yapmanın birçok yolu olduğu için %100 doğru değildir. Ama genel fikir bu.

Bu bir dağıtım yöntemidir zappa Python/Django uygulamalarını AWS Lambda'ya dağıtmak için kullanılan bir araç, Lambda'da docker kapsayıcılarına izin verilmeden çok önce destekledi.

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

2021-11-23 22:49:27
1

Kullanım durumunuz için mükemmel olan lambda katmanlarını kullanabilirsiniz. Bir süre önce, projemizden biri için facebook sdk'yı kullanmamız gerekiyor ve facebook sdk(32 mb) için bir lambda katmanı oluşturduk ve ardından dağıtım paketi yalnızca 4 KB oldu.

Belirtildiği gibi

Katmanları kullanmak, AWS Sunucusuz Uygulama Modeli (AWS SAM) veya Sunucusuz çerçeve ile uygulamaların dağıtımını hızlandırabilir. Çalışma zamanı bağımlılıklarını işlev kodunuzdan bir katmana taşıyarak bu yardımcı olabilir reduce the overall size of the archive dağıtım sırasında yüklendi.

Tek Lambda fonksiyonu kadar kullanabilirsiniz five layers. Toplam açılmamış işlevin ve tüm katmanların maksimum boyutu 250 MB ki bu senin sınırlarının çok ötesinde.

2021-11-24 17:39:02

Diğer dillerde

Bu sayfa diğer dillerde

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