Skip to content
malak.cloud
  • Kontakt
  • O mnie
  • Search Icon

malak.cloud

Cloud Native na co dzień

Jak utworzyć Lambda Layer w Pythonie

Jak utworzyć Lambda Layer w Pythonie

9 czerwca 2022

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.


AWS, CloudNative, Cookbook, DEV
AWS, CloudNative, Cookbook, Dev

Post navigation

PREVIOUS
AWS news – maj 2022
NEXT
AWS news – czerwiec 2022
Comments are closed.
Cześć. Nazywam się Przemek Malak. Dzięki za wizytę. Mam nadzieję, że to o czym piszę Cię zainteresowało. Jeżeli chcesz ze mną pogadać, najłatwiej będzie przez LinkedIn.

Losowe wpisy

  • Dane w plikach CSV, JSON i SQL? Tak. AWS Athena

    22 września 2017
  • Jak przekazać dane z funkcji Lambda do… funkcji Lambda

    14 lutego 2019
  • Jak skasować pliki w S3 przy usuwaniu stacka Cloudformation

    18 stycznia 2022
  • Izolacja namespaces za pomocą Istio

    3 listopada 2021
  • AWS Copilot CLI i AWS App Runner

    22 listopada 2021
  • Apps
  • AWS
  • CloudNative
  • Cookbook
  • Data
  • DEV
  • GCP
  • IoT
  • Istio
  • k8s
  • Security
  • Social
  • GitHub
  • LinkedIn
© 2023   All Rights Reserved.