Jak utworzyć Lambda Layer w Pythonie

Jak utworzyć Lambda Layer w Pythonie

W krótkim czasie dwa razy pokazywałem jak utworzyć Lambda Layer w Pythonie, postanowiłem więc utworzyć krótki tutorial.

Mało tekstu, trochę kodu i mamy działające rozwiązanie. Więcej pisałem o tym już wcześniej.

Jak utworzyć Lambda Layer w Pythonie

Tym razem nie dane CI/CD, jak najszybciej i najłatwiej dążymy do celu.

Na początek tworzymy dwie rzeczy. Pierwszą jest katalog, w którym umieścimy nasze „rzeczy”, które chcemy udostępnić w warstwie. Tworzymy go więc mkdir python

Drugą jest plik requirements.txt touch requirements.txt, do którego wpisujemy komponenty, które chcemy umieścić w naszej warstwie, np.:

requests
boto3==1.21.15

Mamy utworzony plik  requirements.txt możemy więc pobrać lokalnie potrzebne paczki. Robimy to za pomocą polecenia

pip3 install -r requirements.txt --target="./python"

 

Pakujemy zawartość katalogu python za pomocą polecenia zip -r requests-boto-layer.zip ./python

i możemy opublikować, czyli zdeployować w AWS naszą warstwę.

aws lambda publish-layer-version \
--layer-name "requests-boto-layer" \
--description "Requests and boto layer" \
--license-info "MIT" \
--zip-file fileb://requests-boto-layer.zip \
--compatible-runtimes python3.9

W odpowiedzi dostaniemy między innymi ARN do naszej warstwy

Możemy go także od razu, w trakcie deploymentu, zapisać np. do zmiennej

LAYER_ARN=$(aws lambda publish-layer-version \
--layer-name "requests-boto-layer" \
--description "Requests and boto layer" \
--license-info "MIT" \
--zip-file fileb://requests-boto-layer.zip \
--compatible-runtimes python3.9 \
--output text \
--query LayerVersionArn)

i używać.

Mamy gotowy Layer, gotowy do wykorzystania w naszych funkcjach Lambda.

Comments are closed.