AWS Lambda layer on resurssi, jonka avulla Lambda-funktiolle voidaan antaa riippuvuuksia, dataa tai konfiguraatiotiedostoja funktion oman deployment-paketin ulkopuolella. Lambda layer luodaan pakkaamalla tarvittavat tiedostot erilliseen zip-pakettiin ja luomalla siitä Lambda-layer -resurssi.
Lambda layerin selvä hyöty on siinä, että deployment-paketista tulee yksinkertaisempi ja pienempi, kun riippuvuudet on pakattu erilliseen pakettiin. Tällöin myös deployment-paketin luominen yksinkertaistuu kun riippuvuuksia ei tarvitse sisällyttää samaan pakettiin kuin itse funktiokoodia. Yhtä Lambda layer -resurssia voidaan käyttää monen Lambda-funktion kanssa.
Lambda layerit mahdollistavat myös muiden kuin itse funktion toteuttamiseen käytetyn ohjelmointikielen kirjastojen käytön riippuvuuksina. Esimerkiksi komentorivityökalun pakkaaminen binäärimuodossa Lambda layeriin on mahdollista, jolloin kyseistä komentorivityökalua voidaan kutsua Lambda-funkion koodista.
Lambda layer liitetään Lambda-funktioon seuraavalla tavalla:
1. Luo Lambda layer zip-paketti, joka sisältää tarvittavat tiedostot
2. Luo Lambda layer-resurssi
3. Luo Lambda-funktio, johon haluat liittää Lambda layerin
4. Liitä Lambda layer-resurssi Lambda-funktioon
On hyvä tiedostaa, että Lambda layer-paketin maksimikoko on 50MB ja yksi Lambda-funktio voi käyttää maksimissaan viittä Lambda layeria. Lisäksi kun Lambda layeria päivitetään, niin layeristä luodaan uusi versio, joka täytyy liittää Lambda-funktioon erikseen.
Kalle Soranko
Senior Consultant