기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
sam build
이 페이지에서는 AWS Serverless Application Model 명령줄 인터페이스(AWS SAM CLI) sam build
명령.
-
에 대한 소개 AWS SAM CLI, 참조 AWS SAMCLI란 무엇인가요?
-
사용 설명서 AWS SAM CLI
sam build
명령을 사용하려면 단원을 참조하십시오AWS SAM의 빌드 소개.
이 sam build
명령은 로컬 테스트 또는 AWS 클라우드에 대한 배포와 같은 개발자 워크플로의 후속 단계를 위해 응용 프로그램을 준비합니다.
사용법
$
sam build
<arguments>
<options>
인수
- 리소스 ID
-
선택 사항. AWS SAM 템플릿에 선언된 단일 리소스를 빌드 AWS SAM 하도록 지시합니다. 지정된 리소스의 빌드 아티팩트는 워크플로의 후속 명령(예:
sam package
및sam 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
를 실행하면,Function1
및Function3
만 구축됩니다. --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-name
을terraform
로 설정해야 합니다. --use-container
,-u
-
함수가 네이티브 컴파일된 종속 항목을 포함하는 패키지를 사용하는 경우 이 옵션을 사용하여 Lambda와 유사한 Docker 컨테이너 내에 함수를 구축합니다.
예제
sam build
하위 명령 사용에 대한 자세한 예제와 심층적인 단계별 설명은 AWS SAM의 빌드 소개 섹션을 참조하세요.