Skip to main content

Python

Pyversions PyPI

Debug your marvelous python lambda with serverless debugger by Thundra!

Contents

Installation

  • Login from our website

  • Get your authentication key.

  • Install our Debugger for AWS Lambda.

  • Write "Serverless Debugger" to Command Palette on VSCode and click "Edit Configuration" and paste your authentication key to authToken. Command Palette

  • Set SLSDEBUGGER_AUTH_TOKEN also by your authentication token to your lambda environment.

  • Follow one of the following two steps.

Using Serverless Debugger Lambda Layer

  • Add Serverless Debugger lambda layer!
arn:aws:lambda:${region}:545538059309:layer:slsdebugger-python:${latest-version} 
  • Latest version of the Serverless Debugger Python Layer Serverless Debugger Python Layer

  • Supported regions: ap-northeast-1, ap-northeast-2, ap-south-1, ap-southeast-1, ap-southeast-2, ap-east-1, ca-central-1, eu-central-1, eu-north-1, eu-south-1, eu-west-1, eu-west-2, eu-west-3, sa-east-1, us-east-1, us-east-2, us-west-1, us-west-2

  • Set SLSDEBUGGER_AUTH_TOKEN in environment variable.

  • Set SLSDEBUGGER_LAMBDA_HANDLER to your lambda handler in environment variable.

  • Open your handler file in VSCODE, put breakpoint and start Serverless Debugger extension downloaded from Debugger for AWS Lambda.

  • Trigger your lambda function.

Manually Wrapping

  • Run this command from your project directory:
pip install slsdebugger -t .
  • Wrap your lambda function.
import slsdebugger

@slsdebugger.lambda_wrapper
def handler(event, context):
print("Hello Serverless Debugger!")
  • Set SLSDEBUGGER_AUTH_TOKEN in environment variable.

  • Open your handler file in VSCODE, put breakpoint and start Serverless Debugger extension downloaded from Debugger for AWS Lambda.

  • Trigger your lambda function.

Configuration

You can configure Serverless Debugger using environment variables.

Check out the configuration part of our docs for more detailed information.

1. Environment variables

  • Only required environment variable is SLSDEBUGGER_AUTH_TOKEN. If it is empty, Serverless Debugger only calls your function without debugging.
NameTypeDefault Value
SLSDEBUGGER_ENABLEDbooltrue
SLSDEBUGGER_AUTH_TOKENstring-
SLSDEBUGGER_PORTint1111
SLSDEBUGGER_LOGS_ENABLEboolfalse
SLSDEBUGGER_WAIT_MAXint60000(ms)
SLSDEBUGGER_IO_WAITint2000(ms)
SLSDEBUGGER_BROKER_PORTbool444
SLSDEBUGGER_BROKER_HOSTboolbroker.service.serverlessdebugger.com
SLSDEBUGGER_SESSION_NAMEstringdefault
SLSDEBUGGER_LAMBDA_HANDLERstring-
SLSDEBUGGER_LAMBDA_WARMUP_WARMUPAWAREboolfalse
SLSDEBUGGER_LAMBDA_TIMEOUT_MARGINint-

Getting Help

If you have any issue around using the library or the product, please don't hesitate to:

Opening Issues

For any problem you encounter while using Serverless Debugger Python, Please feel free to contact us via github issue or our python slack channel.

When opening a new issue, please provide as much information about the environment:

  • Library version, Python runtime version, dependencies, operation system with version etc.
  • Snippet of the usage.
  • A reproducible example can really help.

The GitHub issues are intended for bug reports and feature requests.