sam build - AWS Serverless Application Model

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

sam build

이 페이지에서는 AWS Serverless Application Model 명령줄 인터페이스(AWS SAM CLI) 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의 입니다. 기본적으로는 Amazon ECR Public에서 컨테이너 이미지를 AWS SAM 가져옵니다. 다른 위치에서 이미지를 가져오려면 이 옵션을 사용합니다.

이 옵션은 여러 번 지정할 수 있습니다. 이 옵션의 각 인스턴스는 문자열 또는 키-값 쌍을 사용할 수 있습니다. 문자열을 지정하면 애플리케이션의 모든 리소스에 사용할 컨테이너 이미지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 옵션은 다음과 같은 런타임과 빌드 메서드를 지원합니다.

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

  • 빌드 메서드 - Makefile, esbuild.

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

  • --hook-name

  • --use-container

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

--cached | --no-cached

캐시된 빌드를 활성화 또는 비활성화합니다. 이 옵션을 사용하여 이전 builds. AWS SAM evaluates에서 변경되지 않은 빌드 아티팩트를 재사용합니다. 기본적으로 빌드는 캐시되지 않습니다. 이 --no-cached 옵션을 호출하면 samcofig.toml의 cached = true 설정을 재정의합니다.

참고

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

--cache-dir

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

--config-env TEXT

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

--config-file PATH

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

--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 SAM CLI 는 타임스탬프를 표시하기 위해 및를 생성합니다.

--docker-network TEXT

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

--exclude, -x

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

--help

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

--hook-name TEXT

확장에 사용되는 후크의 이름입니다. AWS SAM CLI 기능.

허용되는 값: terraform.

--manifest , -m PATH

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

--no-use-container

IDE 도구 키트를 사용하여 기본 동작을 설정할 수 있는 옵션입니다. sam build --no-use-container를 사용하여 도커 컨테이너 대신 로컬 시스템에서 빌드를 실행할 수도 있습니다.

--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 컨테이너 내에 함수를 구축합니다.

예제

sam build 하위 명령 사용에 대한 자세한 예제와 심층적인 단계별 설명은 AWS SAM의 빌드 소개 섹션을 참조하세요.