AWS Python Lambda Packager
Project description
Provides a quick command line utility for packaging and publishing Python AWS Lambda functions. This is a work in progress and pull requests are always welcome.
Installation
The latest release of lambda-uploader can be installed via pip:
pip install lambda-uploader
An alternative install method would be manually installing it leveraging setup.py:
git clone https://github.com/rackerlabs/lambda-uploader cd lambda-uploader python setup.py install
Configuration File
The lambda uploader expects a directory with, at a minimum, your lambda function and a lambda.json file. It is not necessary to set requirements in your config file since the lambda uploader will also check for and use a requirements.txt file.
Please note that you can leave the “vpc” object out of your config if you want your lambda function to use your default VPC and subnets. If you wish to use your lambda function inside a specific VPC, make sure you set up the role correctly to allow this.
Example lambda.json file:
{
"name": "myFunction",
"description": "It does things",
"region": "us-east-1",
"handler": "function.lambda_handler",
"role": "arn:aws:iam::00000000000:role/lambda_basic_execution",
"requirements": ["pygithub"],
"ignore": [
"circle.yml",
".git",
"/*.pyc"
],
"timeout": 30,
"memory": 512,
"vpc": {
"subnets": [
"subnet-00000000"
],
"security_groups": [
"sg-00000000"
]
}
}
Command Line Usage
To package and upload simply run the command from within your lambda directory or with the directory as an option.
lambda-uploader ./myfunc
To specify an alternative profile that has been defined in ~/.aws/credentials use the --profile parameter.
lambda-uploader --profile=alternative-profile
To specify an alternative, prexisting virtualenv use the --virtualenv parameter.
lambda-uploader --virtualenv=~/.virtualenv/my_custom_virtualenv
To omit using a virtualenv use the --no-virtualenv parameter.
lambda-uploader --no-virtualenv
To inject any other additional files, use the --extra-file EXTRA_FILE parameter.
lambda-uploader --extra-file ~/stuff_for_lambda_packages
If you would prefer to upload another way you can tell the uploader to ignore the upload. This will create a package and leave it in the project directory.
lambda-uploader --no-upload ./myfunc
To publish a version without an alias you would pass the the publish flag.
lambda-uploader -p ./myfunc
If you would like to alias your upload you can pass the alias with the alias flag. The function description will be used when an alias-description is not provided.
lambda-uploader --alias myAlias --alias-description 'My alias description' ./myfunc
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
File details
Details for the file lambda-uploader-1.0.3.tar.gz
.
File metadata
- Download URL: lambda-uploader-1.0.3.tar.gz
- Upload date:
- Size: 10.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | ecd0f9a31961fed2fafd6a9b0a8a5ea4e49c5a0804bc0ec35776a09b6cff7f6c |
|
MD5 | 1dd78b3bce1a2a56b5e0dd737705070c |
|
BLAKE2b-256 | 72b3f02c12e38b00c78279ecb9847c13efaf81699837c6ae561de55f7349325f |
File details
Details for the file lambda_uploader-1.0.3-py2.py3-none-any.whl
.
File metadata
- Download URL: lambda_uploader-1.0.3-py2.py3-none-any.whl
- Upload date:
- Size: 14.1 kB
- Tags: Python 2, Python 3
- Uploaded using Trusted Publishing? No
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2ce4583e444d7351d2f41e9a1bdd7457dc979c36a90387b5f39335f06eb9cd97 |
|
MD5 | 9ccbaf047496ab3b1779ee4fb75c62ce |
|
BLAKE2b-256 | d3128fb0de93c857cebb017e86dc4cca0b279e87fd98e8db03ceb8e8033aae38 |