mirror of
https://github.com/swift-server/swift-aws-lambda-runtime.git
synced 2026-06-02 07:27:33 +00:00
39b0140b803bdade8c8657e2cd2f955fe4aae427
motivation: EventLoop is also an EventLoopGroup, no need in wrapping changes: remove SingleEventLoopGroup wrapper, use EventLoop directly
Swift AWS Lambda
This library is designed to allow writing AWS Lambdas using the Swift programming language.
Getting started
- Create a SwiftPM project and pull SwiftAwsLambda as dependency into your project
import PackageDescription
let package = Package(
name: "my-lambda",
products: [
.executable(name: "MyLambda", targets: ["MyLambda"]),
],
dependencies: [
.package(url: "https://github.com/swift-server/swift-aws-lambda.git", .upToNextMajor(from: "0.1.0")),
],
targets: [PackageDescription.Target] = [
.target(name: "MyLambda", dependencies: ["SwiftAwsLambda"]),
]
)
- Create a main.swift and implement you lambda. typically a lambda is implemented as a closure. For example, a simple lambda for a closure that receives a string payload and replies with the reverse version:
import SwiftAwsLambda
_ = Lambda.run { (context: LambdaContext, payload: String, callback: LambdaStringCallback) in
callback(.success(String(payload.reversed())))
}
note you can implement 3 types of lambdas:
[UInt8](byte array) based (default): seeSwiftAwsLambdaExampleStringbased: seeSwiftAwsLambdaStringExampleCodablebased: seeSwiftAwsLambdaCodableExample
Architecture
TODO
Languages
Cython
54.9%
Swift
40.8%
Shell
4.2%
Makefile
0.1%