Skip to main content

No project description provided

Project description

License Code Style

AWS ALB Response Creator

The AWS announcement of Application Load Balancers supporting Lambda functions made my reInvent experience!

Purpose

In doing a PoC however, I found that the statusDescription element was somewhat of an annoyance to code. This package provides a method to return the appropriate format of this field without copy/paste response data and allowing a strategy to implement this to swap out response formats for API Gateway or ALB as needed.

Installation

Run pip install alb-response

Usage

from alb_response import alb_response

def lambda_handler(event, context):

    response_dict = process_the_event(event)

    return alb_response(
        http_status=200,
        json=response_dict,
        is_base64_encoded=False,
    )

Architecture

  1. Setup an Application Load Balancer (ALB)
  2. Create a target group for the Lambda
  3. Assign appropriate permissions to your Lambda function
  4. Attach the target group to the ALB with a rule

Contributing

Contributions are welcome! Please open an issue or make a pull request.

If making a pull request, please run the tests and ensure that you maintain or increase code coverage.

Dependencies

To make this project more portable and keep environments organized, this project leverages pipenv. To install deterministic dependencies, run pipenv sync.

Run Tests

To run the tests, install the dependencies and run behave.

To get code coverage as well, run coverage run --source='.' -m behave followed by coverage report.

Release Log

  • 0.1.0
    • Initial Release
  • 0.1.1
  • 0.1.2
    • Patch to support null json responses without sending an empty json object

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

alb-response-0.1.2.tar.gz (2.4 kB view hashes)

Uploaded Source

Built Distribution

alb_response-0.1.2-py3-none-any.whl (4.1 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