[typescript] 타입스크립트의 타입 어노테이션을 사용하여 AWS Lambda 함수의 입력 및 출력 유형 정의
서버리스 아키텍처는 AWS Lambda와 같은 서비스를 통해 효율적으로 구축할 수 있습니다. 타입스크립트의 강력한 타입 시스템을 활용하여 Lambda 함수의 입력 및 출력 유형을 명확하게 정의할 수 있습니다.
1. 입력 유형 정의
Lambda 함수의 입력은 이벤트 객체를 통해 전달됩니다. 이벤트 객체의 구조를 인터페이스로 정의하여 타입스크립트의 타입 어노테이션을 사용할 수 있습니다.
interface LambdaEvent {
key1: string;
key2: number;
}
위 코드는 LambdaEvent
라는 인터페이스를 정의하고, 이벤트 객체의 예상 형태를 설명합니다.
2. 출력 유형 정의
Lambda 함수의 출력도 명확하게 정의할 수 있습니다. 예를 들어, HTTP 응답 형식을 사용하여 출력 유형을 정의할 수 있습니다.
interface LambdaResponse {
statusCode: number;
body: string;
}
위 코드는 LambdaResponse
라는 인터페이스를 정의하고, Lambda 함수의 응답 형식을 설명합니다.
3. 함수에 타입 어노테이션 적용
이제 이벤트 및 응답 유형을 사용하여 Lambda 함수에 타입 어노테이션을 적용할 수 있습니다.
exports.handler = async (event: LambdaEvent): Promise<LambdaResponse> => {
// Lambda 함수의 본문
return {
statusCode: 200,
body: "Hello from Lambda!"
};
};
위 코드에서 event: LambdaEvent
는 입력 이벤트의 유형을 지정하고, Promise<LambdaResponse>
는 함수의 반환 유형을 나타냅니다.
이와 같이 타입스크립트의 타입 어노테이션을 사용하여 Lambda 함수의 입력 및 출력 유형을 명확하게 정의할 수 있습니다. 이를 통해 코드의 가독성을 높이고 개발자 간의 협업을 용이하게 할 수 있습니다.
참고 문헌: