A simple, per-project AWS Lambda Layer manager.
Project description
awslayer-manager
This is a simple tool that helps you 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 is then 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
Serverlessframework. - This package requires
Dockerto build requirements to avoid compilation issues.
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 deployment environment use the --env option. Currently supports dev, stage, and prod environments.
Once that is done, add the following (omit square brackets) for each function in your project's serverless.yml:
functions:
func-name:
handler: src/handler.func-name
layers:
- "${cf:[stack-name].[ServiceName]LayerLambdaLayerQualifiedArn}"
where you can find the "[ServiceName]LayerLambdaLayerQualifiedArn" 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). The script, however, will try to clean up
to the best of its ability.
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
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file awslayer-manager-1.0.14.tar.gz.
File metadata
- Download URL: awslayer-manager-1.0.14.tar.gz
- Upload date:
- Size: 5.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.7.1 importlib_metadata/4.10.1 pkginfo/1.8.2 requests/2.27.1 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.7.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
722df8ef3833364543e7981c21aecbd14eb16b685389ef2a672d72804167c261
|
|
| MD5 |
4e68961df8dffdfcbde449a1c2e5afe0
|
|
| BLAKE2b-256 |
f8dabc38b67b1f8581f01f352ab502ce45a66acb8c06e788b2527a493723cc6c
|
File details
Details for the file awslayer_manager-1.0.14-py3-none-any.whl.
File metadata
- Download URL: awslayer_manager-1.0.14-py3-none-any.whl
- Upload date:
- Size: 7.4 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.7.1 importlib_metadata/4.10.1 pkginfo/1.8.2 requests/2.27.1 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.7.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
fde5b937c193ff5e2696c1f378ebd70dbc6bdecc2336a560bc924c6eae866577
|
|
| MD5 |
2201628da8b1f451891538ecdf247ecd
|
|
| BLAKE2b-256 |
7c977d5eaa7ccd443064e1e5fbe9ff39ab987af03272d46d49b7d88c1e809dec
|