A simple, per-project AWS Lambda Layer manager.
Project description
awslayer-manager
This a simple tool to build and upload your project requirements as an AWS Lambda Layer. It extracts the requirements
from your Pipfile and installs them into a separate directory which it's deployed from. This package also supports
working with the high performance mysqlclient
library by compiling it inside a docker container that closely mimics
the AWS Lambda environment and deploying it with the layer.
Installation
To install this package, run
pip install awslayer-manager
Requirements
- Requires your project to be using the
Serverless
framework. - This package requires
Docker
if you're planning to work withmysqlclient
. If not, you can omit it.
Running
To initialize the layer run
awslayer
in the project directory. This will extract requirements from your Pipfile and create a serverless.yml inside the layer
directory. Once the layer is initialized, it will install all the requirements inside the layers/package
directory and
deploy it using sls deploy
the layer to the specified environment (dev by default).
To change the environment add use the --env
option. Supports dev
and prod
environments.
Once that is done, add the following for each function in your project's serverless.yml:
functions:
func-name:
handler: src/handler.func-name
layers:
- "${cf:stack-name.ServiceNameLayerLambdaLayerQualifiedArn}"
where you can find the "ServiceNameLayerLambdaLayerQualifiedArn" identifier in the CloudFormation stack.
NOTE: This package will create a layer
directory inside your project which I recommend adding to your .gitignore
file as it is fairly heavy (depending on the size of your requirements)
Contributing
Pull requests are welcome.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for awslayer_manager-1.0.9-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 75f0eb7eec946f6885e28c5755060b7367a3951057f3445f8db3e225c3bab486 |
|
MD5 | 93c715cf65af662f01dd5ce1877656b7 |
|
BLAKE2b-256 | 4b7e47c632d237cdd3e5992bbf262340b141c3d89bcbd8c03d85f7c51a759a05 |