Awesome
Swift AWS Lambda Events
Overview
Swift AWS Lambda Runtime was designed to make building Lambda functions in Swift simple and safe. The library is an implementation of the AWS Lambda Runtime API and uses an embedded asynchronous HTTP Client based on SwiftNIO that is fine-tuned for performance in the AWS Runtime context. The library provides a multi-tier API that allows building a range of Lambda functions: From quick and simple closures to complex, performance-sensitive event handlers.
Swift AWS Lambda Events is a supporting library for the Swift AWS Lambda Runtime library, providing abstractions for popular AWS events.
Integration with AWS Platform Events
AWS Lambda functions can be invoked directly from the AWS Lambda console UI, AWS Lambda API, AWS SDKs, AWS CLI, and AWS toolkits. More commonly, they are invoked as a reaction to an events coming from the AWS platform. To make it easier to integrate with AWS platform events, this library includes an AWSLambdaEvents
target which provides abstractions for many commonly used events. Additional events can be easily modeled when needed following the same patterns set by AWSLambdaEvents
. Integration points with the AWS Platform include:
- APIGateway Proxy
- S3 Events
- SES Events
- SNS Events
- SQS Events
- CloudWatch Events
- Cognito Lambda Triggers
Note: Each one of the integration points mentioned above includes a set of Codable
structs that mirror AWS' data model for these APIs.
Getting started
If you have never used AWS Lambda or Docker before, check out this getting started guide which helps you with every step from zero to a running Lambda.
Swift AWS Lambda Events is a supporting library for the Swift AWS Lambda Runtime library, where you can find further documentation and examples.
Project status
This is the beginning of a community-driven open-source project actively seeking contributions.
While the core API is considered stable, the API may still evolve as we get closer to a 1.0
version.
There are several areas which need additional attention, including but not limited to:
- Additional events
- Additional documentation and best practices
- Additional examples
Security
Please see SECURITY.md for details on the security process.