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.10-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 9c3993ccf31256dfb58eae23c4f3ac296b78a95101e272ca8eff668289d1d0a0 |
|
MD5 | 9c0a462e0502c5cb226b69d4c2bced50 |
|
BLAKE2b-256 | 4227fa8e8228efda9a6e39c630c37b3714f67038e7bfb023516efd55d72bcfac |