A framework to do a better development.
Project description
pspring-aws
This framework is member of pspring based family of frameworks. It provides a means to access aws resources with minimal code. boto3
library is used internally for http requests.
All the default variables are listed in defaultvars.py
Annotations / Decorators that come along with this framework are listed below
-
@SecretValue(name="",region="",column="",columns=[])
This is a class decorator can be used to retrieve value of secret in AWS secrets manager. We could also specify a list of columns or a single column name from the secret response to be retrived. A method named "getSecretValue" will be available on the class.
-
@DynamoDBTable(tableName="",primaryKey="",sortKey="",ttlColumnName="",ttl="")
This is a class decorator which can be tagged with a dynamodb table. Once tagged with this decorator, the class will have implementations of
get
andput
methods.get(self,primaryKey,sortKey="",columns="",column="")
method can be used to retrive only specific columnsput(self,data)
can be used to insert data -
@LambdaHandler(type="lambdaproxy")
This is a class decorator which provides below functionalities. You should implement "handler" method which will be enhanced
- debug,info,warn,error - This will log a message will required tracking fields like requestId etc.
- handle cold start requests with requestId = "COLD_START_WARMER"
- addToLogger method can be used to add a field to all logging messages.
- returns a 200 response along with the dictionary returned from the "handler" method as json.
- handles all exceptions and returns gracefully a 500 Internal server error.
Below exceptions are available from this framework
- LambdaException
- NotFoundException
- UnAuthorizedException
- InternalServerException
- CreatedException
- RedirectException
Example:
from pspring import *
from pspringaws import *
@LambdaHandler()
class MyHandler():
@Autowired()
def __init__(self,customerbackend:CustomerBackend, cache:DataCache):
self.customerbackend = customerbackend
self.cache = cache
def handler(self,event,context):
return self.customerbackend(...)
context.initialize()
newhandler = MyHandler()
def handler(event,context):
return newhandler.handler(event,context)
To do:
- Support Lambda integration types
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
Hashes for pspring_aws-0.0.14-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 516c898f0e6caed1aafa598d861f594154ee380fbbc03424cde9326d763961fc |
|
MD5 | f03165299148ade99aa518e0dae7ba00 |
|
BLAKE2b-256 | 305142a0d961bdc334485dd451d9cfa0758b3e7c67fd69c56c2cbf43dd1df2fd |