Table of Contents
Kotlin 기반으로 AWS Lambda, API Gateway를 테스트 및 배포하는 샘플
build.gradle.kts
sam {
s3Bucket = "riiid-dev-hello"
stackName = "hello-sam"
"HelloSamFunction"(SamResource.Type.FUNCTION) { // (1)
properties {
handler = "com.importre.example.Hello::handleRequest"
codeUri = "$buildDir/libs/${project.name}-$version-all.jar" // (2)
runtime = SamResource.Properties.Runtime.JAVA8 // (3)
events {
"HelloSam"(SamEvent.Type.API) { // (4)
properties {
path = "/hello"
method = SamEvent.Properties.Method.GET
}
}
}
}
}
}
-
리소스가 함수면 타입 생략 가능 (
"HelloSamFunction" { … }
) -
생략 가능 (기본값:
build/libs/${project.name}-$version-all.jar
) -
생략 가능 (기본값: java8)
-
이벤트 타입이 API면 생략 가능 (
"HelloSam { … }
)
shell
% ./gradlew runLocalSamApp
-
sam
에 모자른 SAM 스펙 구현하기 → Plugin으로 배포-
예외처리
-