Skip to main content

A tool to simulate running an AWS Lambda locally

Project description

awslambdalocal

awslambdalocal is a tool to simulate running an AWS Lambda locally, for lambda functions in Python.

Table of Contents

Requirements

  • Python => 3.8
  • Poetry => 1.1.12 or another package manager that supports direct git dependencies

Install

To install awslambdalocal, we recommend adding it to your pyproject.toml in the dev-dependencies section as shown in the example below.

pip install awslambdalocal

Obs.: We recommend using Poetry. See https://python-poetry.org/docs/

About: CLI

Positional Arguments:

Argument Description
file Specify Lambda function file name

Optional Arguments:

Argument Description
--help Show this help message and exit
-e Specify Event data file name. REQUIRED without param -w
-h Lambda function handler name. Default is "handler"
-p Read the AWS profile of the file.
-r Sets the AWS region, defaults to us-east-1.
-t Sets lambda timeout. default: 3
-w Starts lambda-local in watch mode listening to the specified port [1-65535].

CLI Examples

# Simple usage
pyhton -m awslambdalocal main.py test-event.json

# Input all arguments
pyhton -m awslambdalocal main.py test-event.json -p my_profile -r my_region -h lambda_handler -t 30

Tutorials


This session contains a collection of tutorials.

Debug Python in VSCode

To use vscode debug with awslambdalocal follow the steps below

  1. Click run and debug

  2. Click create a launch.json file

  3. Choose Python

  4. Choose Module

  5. Set the module name "awslambdalocal"

  6. After this process, VSCode will create a file called launch.json in the .vscode folder located at the root of the project

  7. Copy and paste the json below into the launch.json file, this file aims to call the awslambdalocal module and passes the necessary and optional parameters as arguments

    {
        // Use o IntelliSense para saber mais sobre os atributos possíveis.
        // Focalizar para exibir as descrições dos atributos existentes.
        // Para obter mais informações, acesse: https://go.microsoft.com/fwlink/?linkid=830387
        "version": "0.2.0",
        "configurations": [
            {
                "name": "Lambda Local", // Debug configuration name
                "type": "python", // Type of configuration. Python, Node and etc.
                "request": "launch",
                "module": "awslambdalocal", // Module that will be called,
                "cwd": "${workspaceFolder}", // Your project's root folder
                "args": [
                    "file_python.py", // Main file that will be called by lambda
                    "your_test_event.json", //Input in json format that will be received by lambda
                    // Optional args ...
                    "-h",
                    "handler",
                    "-p",
                    "your_profile",
                    "-r",
                    "us-east-1"
                ]
            }
        ]
    }
    

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

awslambdalocal-1.0.9.tar.gz (8.0 kB view hashes)

Uploaded Source

Built Distribution

awslambdalocal-1.0.9-py3-none-any.whl (8.3 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page