AWS Lambda Library
Project description
DO NOT USE, THIS IS PRE-ALPHA, HAS NO TESTS, NO MONITORING, BAD LOGGING
tclambda
AWS Lambda calling library
Works together with functions defined in tc-sam-cli
Configuration of AWS Lambda
# app.py
import tclambda
from numpy.polynomial.polynomial import polyfit as np_polyfit
handler = tclambda.LambdaHandler()
@handler.register()
def polyfit(*args, **kwargs):
return list(np_polyfit(*args, **kwargs))
The registered handler must return something that is json serializable.
Usage in other projects
Configuration is primarely done by environmental variables.
TC_NUMPY_QUEUE="https://sqs.eu-west-1.amazonaws.com/12345/NumpySqs"
TC_NUMPY_BUCKET="s3-result-bucket"
from tclambda.auto_functions import numpy
lambda_result = numpy.polyfit([1, 2], [2, 1], 1)
print(lambda_result.result())
# Output: [2.999999999999998, -0.9999999999999992]
Retry lambda
import tclambda
import requests
handler = tclambda.LambdaHandler()
@handler.register()
def web_data(*args, **kwargs):
try:
response = requests.get("https://example.com")
response.raise_for_status()
except Exception as e:
raise tclambda.RetryException(e)
return response.text
Error handling
Sentry
Install tclambda together with sentry pip install tclambda[sentry]
Setting up sentry is done automatically through environmental variables.
- SENTRY_DSN
- SENTRY_RELEASE
- SENTRY_ENVIRONMENT
Tests
- Create an S3 bucket to test live against
- Add
TC_THIS_BUCKET=my-test-s3-bucket
to.env
- Run
pipenv run test
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
tclambda-0.0.6.tar.gz
(13.5 kB
view hashes)
Built Distribution
tclambda-0.0.6-py3-none-any.whl
(15.1 kB
view hashes)