Firetail Lambda Package
Project description
Firetail Python Lambda Middleware
Overview
The purpose of this module is to correctly log out the AWS Lambda event and response payload to allow the firetail extension to then send it on to the firetail logging api
The firetail_handler is a decorator that wraps around an event handler function in a AWS Lambda to extract the event and response payloads into a base64 logging message.
###Supported Lambda Runtimes ✅ Python 3.7 ✅ Python 3.8 ✅ Python 3.9
Installation
Install the module with using pip
pip install -U firetail-lambda
Implementing Middleware in lambda function
import json
from firetail_lambda import firetail_handler, firetail_app
app = firetail_app()
@firetail_handler(app)
def lambda_handler(event, context):
return {
"statusCode": 200,
"body": json.dumps({
"message": "Hello"
})
}
Multiple Event handlers
import json
from firetail_lambda import firetail_handler, firetail_app
app = firetail_app()
@firetail_handler(app)
def lambda_handler(event, context):
return {
"statusCode": 200,
"body": json.dumps({
"message": "Hello"
})
}
@firetail_handler(app)
def lambda_handler_2(event, context):
return {
"statusCode": 200,
"body": json.dumps({
"message": "Hello 2"
})
}
Custom Sanitization callback
import copy
import json
from firetail_lambda import firetail_handler, firetail_app
def sanitize_payloads(event, response):
new_event = copy.copy(event)
remove_headers = ['authorization','Authorization', 'x-api-key']
if 'headers' in event:
for header in remove_headers:
if header in event['headers']:
del new_event['headers'][header]
if 'multiValueHeaders' in event and header in event['multiValueHeaders']:
del new_event['multiValueHeaders'][header]
return new_event, response
app = firetail_app()
app.sanitization_callback = sanitize_payloads
@firetail_handler(app)
def lambda_handler(event, context):
return {
"statusCode": 200,
"body": json.dumps({
"message": "Hello"
})
}
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
Built Distribution
File details
Details for the file Firetail-Lambda-0.1.8.tar.gz
.
File metadata
- Download URL: Firetail-Lambda-0.1.8.tar.gz
- Upload date:
- Size: 9.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.1 CPython/3.11.0
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 21500771f92f2f4969211982c577339eb9e6666c691c5fc8e64df0ea7b408bf8 |
|
MD5 | 33d2eb8885399dce774037c1d04f6b76 |
|
BLAKE2b-256 | cb555feaf8c7d295aeddcd8c0ab8e2ef479ebfde190c13154bb357f01602caea |
File details
Details for the file Firetail_Lambda-0.1.8-py3-none-any.whl
.
File metadata
- Download URL: Firetail_Lambda-0.1.8-py3-none-any.whl
- Upload date:
- Size: 6.2 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.1 CPython/3.11.0
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | e1a7957e16bb29115a000bc2866840f443393849bef614688e3c27c8c53bedde |
|
MD5 | 8125b1a675811fd64aa39d331d87be09 |
|
BLAKE2b-256 | 90714be4b967d17c9c6803ffc67ef4a0c05d1378328213539bd6dccdd3e1a54e |