Last active
July 12, 2021 23:33
-
-
Save jwamin/f50f0791981d96b90afb3321ac7f600c to your computer and use it in GitHub Desktop.
Very Basic Swift Lambda
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/bin/sh | |
#build for amazon linux | |
sudo docker run \ | |
--rm \ | |
--volume "$(pwd)/:/src" \ | |
--workdir "/src/" \ | |
swift:5.3.1-amazonlinux2 \ | |
swift build --product MyLambda -c release -Xswiftc -static-stdlib | |
#enter build folder | |
cd .build | |
#enter release folder | |
cd release | |
#recreate symlink | |
rm bootstrap | |
ln -s "MyLambda" "bootstrap" | |
# zip release folder including symlinks | |
sudo zip --symlinks release.zip * | |
#upload to s3 bucket | |
aws s3 cp release.zip s3://jwamin-code-bucket | |
#update lambda code | |
aws lambda update-function-code --function-name swiftHello --s3-bucket=jwamin-code-bucket --s3-key=release.zip | |
#test lambda | |
curl https://8fm9bmgrg6.execute-api.us-east-1.amazonaws.com/default/swiftHello -H 'Accept: text/plain' -H 'Content-Type: text/plain' --header 'x-api-key: <API_KEY>' --request POST -d "jossy" |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import Foundation | |
import AWSLambdaRuntime | |
import AWSLambdaEvents | |
// in this example we are receiving and responding with strings | |
Lambda.run { (context, event: APIGateway.Request, callback: @escaping (Result<APIGateway.Response, Error>) -> Void) in | |
let response = APIGateway.Response(statusCode:.ok,body: "Hello, \(event.body ?? "default")") | |
callback(.success(response)) | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment