AWS SAM 템플릿 - AWS Serverless Application Model

AWS SAM 템플릿

sam init 명령을 실행하고 후속 워크플로를 완료하면 AWS SAM에서 애플리케이션 프로젝트 디렉터리를 생성하며 이것이 AWS SAM 프로젝트입니다. AWS SAM 프로젝트에 코드를 추가하여 서버리스 애플리케이션을 정의합니다. AWS SAM 프로젝트는 일련의 파일 및 폴더로 구성되지만 주로 작업하는 파일은 template.yaml이라는 AWS SAM 템플릿입니다. 이 템플릿에서 코드를 작성하여 서버리스 애플리케이션을 정의하는 리소스, 이벤트 소스 매핑 및 기타 속성을 표현합니다.

참고

AWS SAM 템플릿의 주요 요소는 AWS SAM 템플릿 사양입니다. 이 사양은 CloudFormation과 비교할 때 훨씬 더 적은 수의 코드 줄을 사용하여 서버리스 애플리케이션의 리소스, 이벤트 소스 매핑, 권한, API 및 기타 속성을 정의할 수 있는 약식 구문을 제공합니다.

이 섹션에서는 AWS SAM 템플릿에서 섹션을 사용하여 리소스 유형, 리소스 속성, 데이터 유형, 리소스 특성, 내장 함수 및 API Gateway 확장을 정의하는 방법에 대해 자세히 설명합니다.

AWS SAM 템플릿은 CloudFormation 템플릿의 확장으로, CloudFormation과 비교하여 코드 줄의 수가 훨씬 적은 약식 구문을 사용하는 고유한 구문 유형을 지원합니다. 이 구문 유형을 사용하면 서버리스 애플리케이션을 빌드할 때 개발 속도가 빨라집니다. 자세한 정보는 AWS SAM 리소스 및 속성 섹션을 참조하세요. CloudFormation 템플릿에 대한 전체 참조는 AWS CloudFormation 사용 설명서CloudFormation 템플릿 참조를 참조하세요.

개발할 때는 애플리케이션을 더 잘 구성하고 관리하려면 애플리케이션 코드를 별도의 파일로 분할하는 것이 유용할 때가 많습니다. 기본적인 예가 AWS SAM 템플릿에 코드를 작성하는 대신 AWS Lambda 함수 코드마다 별도의 파일을 사용하는 것입니다. 이 작업을 수행하려면 Lambda 함수 코드를 프로젝트의 하위 디렉터리에 구성하고 AWS Serverless Application Model(AWS SAM) 템플릿 내에서 해당 로컬 경로를 참조하면 됩니다.