

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

# sam build
<a name="sam-cli-command-reference-sam-build"></a>

이 페이지에서는 AWS Serverless Application Model 명령줄 인터페이스(AWS SAM CLI) `sam build` 명령에 대한 참조 정보를 제공합니다.
+ 에 대한 소개는 단원을 AWS SAM CLI참조하십시오. [란 무엇입니까 AWS SAM CLI?](what-is-sam-overview.md#what-is-sam-cli) 
+ `sam build` 명령 사용에 대한 설명서는 섹션을 참조하세요 AWS SAM CLI[를 사용한 빌드 소개 AWS SAM](using-sam-cli-build.md).

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

## 사용법
<a name="ref-sam-cli-build-usage"></a>

```
$ sam build <arguments> <options>
```

## 인수
<a name="ref-sam-cli-build-args"></a>

**리소스 ID**  <a name="ref-sam-cli-build-args-resource-id"></a>
선택 사항. [AWS SAM 템플릿](what-is-sam-overview.md#what-is-sam-template)에 선언된 단일 리소스를 빌드 AWS SAM 하도록 지시합니다. 지정된 리소스의 빌드 아티팩트는 워크플로의 후속 명령(예: `sam package` 및 `sam deploy`)에 사용할 수 있는 유일한 아티팩트입니다.

## 옵션
<a name="ref-sam-cli-build-options"></a>

`--base-dir, -s DIRECTORY`  <a name="ref-sam-cli-build-options-base-dir"></a>
이 디렉터리에 대해 함수 또는 계층의 소스 코드에 대한 상대 경로를 확인합니다. 소스 코드 폴더의 상대 경로를 확인하는 방법을 변경하려면 이 옵션을 사용하십시오. 기본적으로 상대 경로는 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`  <a name="ref-sam-cli-build-options-beta-features"></a>
베타 기능을 허용 또는 거부합니다.

`--build-dir, -b DIRECTORY`  <a name="ref-sam-cli-build-options-build-dir"></a>
구축된 아티팩트가 저장되는 디렉터리의 경로입니다. 이 옵션을 사용하면 이 디렉터리와 모든 내용이 제거됩니다.

`--build-image TEXT`  <a name="ref-sam-cli-build-options-build-image"></a>
구축을 위해 가져오려는 컨테이너 이미지의 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`  <a name="ref-sam-cli-build-options-build-in-source"></a>
소스 폴더에서 프로젝트를 직접 빌드하기 위한 `--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`  <a name="ref-sam-cli-build-options-cached"></a>
캐시된 빌드를 활성화 또는 비활성화합니다. 이전 builds. AWS SAM evaluates에서 변경되지 않은 빌드 아티팩트를 재사용하려면이 옵션을 사용합니다. 기본적으로 빌드는 캐시되지 않습니다. 이 `--no-cached` 옵션을 간접 호출하면 samconfig.toml의 `cached = true` 설정을 재정의합니다.   
특정 버전을 제공하지 않은 경우AWS SAM 은 프로젝트가 의존하는 타사 모듈을 변경했는지를 평가하지 않습니다. 예를 들어 Python 함수에 항목이 있는 `requirements.txt` 파일이 포함되어 `requests=1.x`있고 최신 요청 모듈 버전이에서 `1.1`로 변경`1.2`되는 경우 캐시되지 않은 빌드를 실행할 때까지는 최신 버전을 가져오지 AWS SAM 않습니다.

`--cache-dir`  <a name="ref-sam-cli-build-options-cached-dir"></a>
`--cached`이 지정된 경우 캐시 아티팩트가 저장되는 디렉터리입니다. 기본 캐시 디렉터리는 `.aws-sam/cache`입니다.

`--config-env TEXT`  <a name="ref-sam-cli-build-options-config-env"></a>
사용할 구성 파일의 기본 매개변수 값을 지정하는 환경 이름입니다. 기본값은 “기본값”입니다. 구성 파일에 대한 자세한 내용은 [AWS SAMCLI구성 파일](serverless-sam-cli-config.md) 섹션을 참조하세요.

`--config-file PATH`  <a name="ref-sam-cli-build-options-config-file"></a>
사용할 기본 매개변수 값이 들어 있는 구성 파일의 경로 및 파일 이름입니다. 기본값은 프로젝트 디렉터리의 루트에 있는 “`samconfig.toml`“입니다. 구성 파일에 대한 자세한 내용은 [AWS SAMCLI구성 파일](serverless-sam-cli-config.md) 섹션을 참조하세요.

`--container-env-var, -e TEXT`  <a name="ref-sam-cli-build-options-container-env-var"></a>
빌드 컨테이너에 전달할 환경 변수입니다. 이 옵션은 여러 번 지정할 수 있습니다. 이 옵션의 각 인스턴스는 키-값 쌍을 사용합니다. 여기서 키는 리소스 및 환경 변수이고 값은 환경 변수의 값입니다. 예를 들어 `--container-env-var Function1.GITHUB_TOKEN=TOKEN1 --container-env-var Function2.GITHUB_TOKEN=TOKEN2`입니다.  
이 옵션은 `--use-container` 옵션이 지정된 경우에만 적용되며, 그렇지 않으면 오류가 발생합니다.

`--container-env-var-file, -ef PATH`  <a name="ref-sam-cli-build-options-container-env-var-file"></a>
컨테이너 환경 변수 값이 포함된 JSON 파일의 경로 및 파일 이름입니다. 컨테이너 환경 변수 구성에 대한 자세한 내용은 [컨테이너 환경 변수 파일](serverless-sam-cli-using-build.md#serverless-sam-cli-using-container-environment-file) 섹션을 참조하세요.  
이 옵션은 `--use-container` 옵션이 지정된 경우에만 적용되며, 그렇지 않으면 오류가 발생합니다.

`--debug`  <a name="ref-sam-cli-build-options-debug"></a>
디버그 로깅을 켜서 AWS SAMCLI가 생성한 디버그 메시지를 인쇄하고 타임스탬프를 표시합니다.

`--docker-network TEXT`  <a name="ref-sam-cli-build-options-docker-network"></a>
Lambda Docker 컨테이너가 연결되어야 하는 기존 Docker 네트워크의 이름 또는 ID와 기본 브리지 네트워크를 지정합니다. 지정되지 않으면 Lambda 컨테이너는 기본 브리지 Docker 네트워크에만 연결됩니다.

`--exclude, -x`  <a name="ref-sam-cli-build-options-exclude"></a>
`sam build`에서 제외할 리소스의 이름입니다. 예를 들어 템플릿에 `Function1`, `Function2`, `Function3`이 포함되어 있고 `sam build --exclude Function2`를 실행하면, `Function1` 및 `Function3`만 구축됩니다.

`--help`  <a name="ref-sam-cli-build-options-help"></a>
이 메시지를 표시한 후 종료합니다.

`--hook-name TEXT`  <a name="ref-sam-cli-build-options-hook-name"></a>
 AWS SAMCLI 기능을 확장하는 데 사용되는 후크의 이름입니다.  
허용되는 값: `terraform`.

`--manifest , -m PATH`  <a name="ref-sam-cli-build-options-manifest"></a>
기본값 대신 사용할 사용자 지정 종속성 매니페스트 파일(예: package.json) 의 경로입니다.

`--mount-symlinks`  <a name="ref-sam-cli-build-options-mount-symlinks"></a>
 AWS SAM CLI이(가) 빌드하거나 간접 호출할 파일에 존재하는 심볼릭 링크를 항상 마운트하도록 보장합니다. 이는 최상위 디렉터리(즉, 함수의 루트에 직접 있는 심볼릭 링크)에만 적용됩니다. 기본적으로, NodeJS에서 `node_modules`을(를) 위해 `build-in-source`을(를) 사용하는 데 필요한 경우를 제외하고 심볼릭 링크는 마운트되지 않습니다.

`--no-use-container`  <a name="ref-sam-cli-build-options-no-use-container"></a>
IDE 툴킷이 기본 동작을 설정하는 데 사용할 수 있는 옵션입니다. `sam build --no-use-container`을(를) 사용하여 Docker 컨테이너 대신 로컬 시스템에서 빌드를 실행할 수도 있습니다.

`--parallel`  <a name="ref-sam-cli-build-options-parallel"></a>
병렬 빌드를 활성화합니다. AWS SAM 템플릿의 함수와 계층을 병렬로 빌드하려면이 옵션을 사용합니다. 기본적으로 함수와 계층은 순서대로 작성됩니다.

`--parameter-overrides`  <a name="ref-sam-cli-build-options-parameter-overrides"></a>
(선택 사항) 키-값 페어로 인코딩된 CloudFormation 파라미터 재정의가 포함된 문자열입니다. AWS Command Line Interface ()와 동일한 형식을 사용합니다AWS CLI. 예를 들어 ‘`ParameterKey`=`KeyPairName`, `ParameterValue`=`MyKey` `ParameterKey`=`InstanceType`, `ParameterValue`=`t1.micro`‘입니다. 이 옵션은 `--hook-name`과 호환되지 않습니다.

`--profile TEXT`  <a name="ref-sam-cli-build-options-profile"></a>
자격 증명을 가져오는 AWS 자격 증명 파일의 특정 프로필입니다.

`--region TEXT`  <a name="ref-sam-cli-build-options-region"></a>
배포할 AWS 리전 입니다. 예를 들어 us-east-1입니다.

`--save-params`  <a name="ref-sam-cli-build-options-save-params"></a>
명령줄에 제공한 파라미터를 AWS SAM 구성 파일에 저장합니다.

`--skip-prepare-infra`  <a name="ref-sam-cli-build-options-skip-prepare-infra"></a>
인프라를 변경하지 않은 경우 준비 단계를 건너뜁니다. `--hook-name` 옵션과 함께 사용합니다.

`--skip-pull-image`  <a name="ref-sam-cli-build-options-skip-pull-image"></a>
명령이 Lambda 런타임에 대한 최신 Docker 이미지를 가져오는 단계를 건너뛸지를 지정합니다.

`--template-file, --template, -t PATH`  <a name="ref-sam-cli-build-options-template-file"></a>
 AWS SAM 템플릿 파일의 경로 및 파일 이름입니다`[default: template.[yaml|yml]]`. 이 옵션은 `--hook-name`과 호환되지 않습니다.

`--terraform-project-root-path`  <a name="ref-sam-cli-build-options-terraform-project-root-path"></a>
Terraform 구성 파일 또는 함수 소스 코드가 들어 있는 최상위 디렉터리의 상대적 또는 절대적 경로입니다. 이러한 파일이 Terraform 루트 모듈이 들어 있는 디렉터리 외부에 있는 경우, 이 옵션을 사용하여 절대적 또는 상대적 경로를 지정하십시오. 이 옵션을 사용하려면 `--hook-name`을 `terraform`로 설정해야 합니다.

`--use-container`, `-u`  <a name="ref-sam-cli-build-options-use-container"></a>
함수가 네이티브 컴파일된 종속 항목을 포함하는 패키지를 사용하는 경우 이 옵션을 사용하여 Lambda와 유사한 Docker 컨테이너 내에 함수를 구축합니다.

## 예제
<a name="sam-cli-command-reference-sam-build-examples"></a>

`sam build` 하위 명령 사용에 대한 자세한 예제와 심층적인 단계별 설명은 [를 사용한 빌드 소개 AWS SAM](using-sam-cli-build.md) 섹션을 참조하세요.