Skip to content

Proxies S3 events through to a PUT-able web service endpoint

License

Notifications You must be signed in to change notification settings

tomelliff/s3-web-service-proxy

Repository files navigation

S3 web service proxy

Build Status Coverage Status Codacy Badge

A basic Lambda function to proxy through the event to a PUT-able endpoint.

Specifically aimed at notifying an application of an S3 PUT event, making the process more event driven than just polling the S3 bucket.

Requirements

Building it

Build the Lambda zip with dependencies included

make build

Deploying

Manually

Simply upload the zip produced by the build step above to a Lambda function with the Python 2.7 run time and the handler set to s3_web_service_proxy.handler.

Terraform

This repo provides a Terraform module that will deploy and configure the Lambda function and supporting infrastructure with minimal configuration.

It currently requires lists of subnet IDs and security group IDs as the expectation is that this Lambda function would spawn inside a VPC to proxy the request through to an application that doesn't publicly expose this API. That said, there's no real reason why this has to be the case so at some point these will become optional rather than required.

Contributing

Set up virtualenv

virtualenv env
. env/bin/activate

Run the tests

make test

TODO:

  • Terraform - make VPC configuration optional
  • Cloudformation to deploy things
    • Launch stack button

About

Proxies S3 events through to a PUT-able web service endpoint

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published