sam build - AWS Serverless Application Model

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

sam build

이 페이지는 AWS Serverless Application Model 명령줄 인터페이스 (AWS SAMCLI) sam build 명령에 대한 참조 정보를 제공합니다.

sam build 명령은 로컬 테스트 또는 AWS 클라우드에 대한 배포와 같은 개발자 워크플로의 후속 단계를 위해 응용 프로그램을 준비합니다.

사용량

$ sam build <arguments> <options>

인수

리소스 ID

선택 사항입니다. 템플릿에 선언된 단일 리소스를 AWS SAM 빌드하도록 지시합니다.AWS SAM 지정된 리소스의 빌드 아티팩트는 워크플로의 후속 명령(예: sam packagesam deploy)에 사용할 수 있는 유일한 아티팩트입니다.

옵션

--base-dir, -s DIRECTORY

이 디렉터리에 대해 함수 또는 계층의 소스 코드에 대한 상대 경로를 확인합니다. 소스 코드 폴더의 상대 경로를 확인하는 방법을 변경하려면 이 옵션을 사용하십시오. 기본적으로 상대 경로는 AWS SAM 템플릿 위치를 기준으로 확인됩니다.

이 옵션은 구축 중인 루트 애플리케이션이나 스택의 리소스 외에도 중첩된 애플리케이션 또는 스택에도 적용됩니다.

이 옵션은 다음 리소스 유형 및 속성에 적용됩니다.

  • 리소스 유형: AWS::Serverless::Function 속성: CodeUri

  • 리소스 유형: AWS::Serverless::Function 리소스 속성: Metadata 항목: DockerContext

  • 리소스 유형: AWS::Serverless::LayerVersion 속성: ContentUri

  • 리소스 유형: AWS::Lambda::Function 속성: Code

  • 리소스 유형: AWS::Lambda::LayerVersion 속성: Content

--beta-features | --no-beta-features

베타 기능을 허용 또는 거부합니다.

--build-dir, -b DIRECTORY

구축된 아티팩트가 저장되는 디렉터리의 경로입니다. 이 옵션을 사용하면 이 디렉터리와 모든 내용이 제거됩니다.

--build-image TEXT

구축을 위해 가져오려는 컨테이너 이미지의 URI입니다. 기본 사항으로 AWS SAM 은 Amazon ECR Public로부터 컨테이너 이미지를 가져옵니다. 다른 위치에서 이미지를 가져오려면 이 옵션을 사용합니다.

이 옵션은 여러 번 지정할 수 있습니다. 이 옵션의 각 인스턴스는 문자열 또는 키-값 쌍을 사용할 수 있습니다. 문자열을 지정하는 경우 이는 애플리케이션의 모든 리소스에 사용할 컨테이너 이미지의 URI입니다. 예를 들어 sam build --use-container --build-image amazon/aws-sam-cli-build-image-python3.8입니다. 키-값 쌍을 지정하는 경우 키는 리소스 이름이고 값은 해당 리소스에 사용할 컨테이너 이미지의 URI입니다. 예를 들어 sam build --use-container --build-image Function1=amazon/aws-sam-cli-build-image-python3.8입니다. 키-값 쌍을 사용하면 리소스마다 다른 컨테이너 이미지를 지정할 수 있습니다.

이 옵션은 --use-container 옵션이 지정된 경우에만 적용되며, 그렇지 않으면 오류가 발생합니다.

--build-in-source | --no-build-in-source

소스 폴더에서 프로젝트를 직접 빌드하기 위한 --build-in-source를 제공합니다.

--build-in-source 옵션은 다음과 같은 런타임과 빌드 메서드를 지원합니다.

  • 런타임 - sam init --runtime 옵션에서 지원하는 모든 Node.js 런타임.

  • 빌드 메서드 - Makefile, esbuild.

--build-in-source 옵션은 다음 옵션과 호환되지 않습니다.

  • --hook-name

  • --use-container

기본값: --no-build-in-source

--cached | --no-cached

캐시된 빌드를 활성화 또는 비활성화합니다. 이 옵션을 사용하면 이전 빌드에서 변경되지 않은 빌드 아티팩트를 재사용할 수 있습니다. AWS SAM 프로젝트 디렉터리의 파일을 변경했는지 여부를 평가합니다. 기본적으로 빌드는 캐시되지 않습니다. 이 --no-cached 옵션을 호출하면 samcofig.toml의 cached = true 설정을 재정의합니다.

참고

특정 버전을 제공하지 않은 경우AWS SAM 은 프로젝트가 의존하는 타사 모듈을 변경했는지를 평가하지 않습니다. 예를 들어 Python 함수에 항목이 requests=1.x 있는 requirements.txt 파일이 포함되어 있고 최신 요청 모듈 버전이 에서 1.11.2 변경되면 캐시되지 않은 빌드를 실행할 때까지 최신 버전을 가져오지 AWS SAM 않습니다.

--cache-dir

--cached이 지정된 경우 캐시 아티팩트가 저장되는 디렉터리입니다. 기본 캐시 디렉터리는 .aws-sam/cache입니다.

--config-env TEXT

사용할 구성 파일의 기본 매개변수 값을 지정하는 환경 이름입니다. 기본값은 “기본값”입니다. 구성 파일에 대한 자세한 내용은 AWS SAMCLI구성 파일 섹션을 참조하세요.

--config-file PATH

사용할 기본 매개변수 값이 들어 있는 구성 파일의 경로 및 파일 이름입니다. 기본값은 프로젝트 디렉터리의 루트에 있는 “samconfig.toml“입니다. 구성 파일에 대한 자세한 내용은 AWS SAMCLI구성 파일 섹션을 참조하세요.

--container-env-var, -e TEXT

빌드 컨테이너에 전달할 환경 변수입니다. 이 옵션은 여러 번 지정할 수 있습니다. 이 옵션의 각 인스턴스는 키-값 쌍을 사용합니다. 여기서 키는 리소스 및 환경 변수이고 값은 환경 변수의 값입니다. 예를 들어 --container-env-var Function1.GITHUB_TOKEN=TOKEN1 --container-env-var Function2.GITHUB_TOKEN=TOKEN2입니다.

이 옵션은 --use-container 옵션이 지정된 경우에만 적용되며, 그렇지 않으면 오류가 발생합니다.

--container-env-var-file, -ef PATH

컨테이너 환경 변수 값이 포함된 JSON 파일의 경로 및 파일 이름입니다. 컨테이너 환경 변수 구성에 대한 자세한 내용은 컨테이너 환경 변수 파일 섹션을 참조하세요.

이 옵션은 --use-container 옵션이 지정된 경우에만 적용되며, 그렇지 않으면 오류가 발생합니다.

--debug

디버그 로깅을 켜서 AWS SAMCLI가 생성한 디버그 메시지를 인쇄하고 타임스탬프를 표시합니다.

--docker-network TEXT

Lambda Docker 컨테이너가 연결되어야 하는 기존 Docker 네트워크의 이름 또는 ID와 기본 브리지 네트워크를 지정합니다. 지정되지 않으면 Lambda 컨테이너는 기본 브리지 Docker 네트워크에만 연결됩니다.

--exclude, -x

sam build에서 제외할 리소스의 이름입니다. 예를 들어 템플릿에 Function1, Function2, Function3이 포함되어 있고 sam build --exclude Function2를 실행하면, Function1Function3만 구축됩니다.

--help

이 메시지를 표시한 후 종료합니다.

--hook-name TEXT

AWS SAMCLI 기능을 확장하는 데 사용되는 후크의 이름입니다.

허용되는 값: terraform.

--manifest , -m PATH

기본값 대신 사용할 사용자 지정 종속성 매니페스트 파일(예: package.json) 의 경로입니다.

--parallel

병렬 빌드를 활성화합니다. 이 옵션을 사용하여 AWS SAM 템플릿의 함수와 레이어를 병렬로 빌드할 수 있습니다. 기본적으로 함수와 계층은 순서대로 작성됩니다.

--parameter-overrides

(선택 사항) 키-값 쌍으로 인코딩된 AWS CloudFormation 매개 변수 오버라이드가 포함된 문자열입니다. () 와 같은 형식을 사용합니다. AWS Command Line Interface AWS CLI예를 들어 ‘ParameterKey=KeyPairName, ParameterValue=MyKey ParameterKey=InstanceType, ParameterValue=t1.micro‘입니다. 이 옵션은 --hook-name과 호환되지 않습니다.

--profile TEXT

자격 AWS 증명을 가져오는 자격 증명 파일의 특정 프로필.

--region TEXT

배포 AWS 리전 대상. 예를 들어 us-east-1입니다.

--save-params

명령줄에서 제공하는 매개변수를 AWS SAM 구성 파일에 저장합니다.

--skip-prepare-infra

인프라를 변경하지 않은 경우 준비 단계를 건너뜁니다. --hook-name 옵션과 함께 사용합니다.

--skip-pull-image

명령이 Lambda 런타임에 대한 최신 Docker 이미지를 가져오는 단계를 건너뛸지를 지정합니다.

--template-file, --template, -t PATH

AWS SAM 템플릿 파일의 경로와 파일 이름[default: template.[yaml|yml]]. 이 옵션은 --hook-name과 호환되지 않습니다.

--terraform-project-root-path

Terraform 구성 파일 또는 함수 소스 코드가 들어 있는 최상위 디렉터리의 상대적 또는 절대적 경로입니다. 이러한 파일이 Terraform 루트 모듈이 들어 있는 디렉터리 외부에 있는 경우, 이 옵션을 사용하여 절대적 또는 상대적 경로를 지정하십시오. 이 옵션을 사용하려면 --hook-nameterraform로 설정해야 합니다.

--use-container, -u

함수가 네이티브 컴파일된 종속 항목을 포함하는 패키지를 사용하는 경우 이 옵션을 사용하여 Lambda와 유사한 Docker 컨테이너 내에 함수를 구축합니다.