

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

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

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

이 `sam sync` 명령은 로컬 애플리케이션 변경 내용을 AWS 클라우드에 동기화합니다.

## 사용법
<a name="sam-cli-command-reference-sam-sync-usage"></a>

```
$ sam sync <options>
```

## 옵션
<a name="sam-cli-command-reference-sam-sync-options"></a>

`--base-dir, -s DIRECTORY`  <a name="sam-cli-command-reference-sam-sync-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`

`--build-image TEXT`  <a name="sam-cli-command-reference-sam-sync-options-build-image"></a>
애플리케이션을 빌드할 때 사용할 [컨테이너 이미지](serverless-image-repositories.md#serverless-image-repository-uris)의 URI. 기본적으로는 [Amazon Elastic Container Registry(Amazon ECR) Public의 컨테이너 이미지 ](https://docs.aws.amazon.com/AmazonECR/latest/public/what-is-ecr.html)리포지토리 URI를 AWS SAM 사용합니다. 다른 이미지를 사용하려면 이 옵션을 지정합니다.  
단일 명령에서 이 옵션을 여러 번 사용할 수 있습니다. 각 옵션은 문자열 또는 키-값 쌍을 허용합니다.  
+ **문자열** - 애플리케이션의 모든 리소스가 사용할 컨테이너 이미지의 URI를 지정합니다. 다음은 예제입니다.

  ```
  $ sam sync --build-image amazon/aws-sam-cli-build-image-python3.8
  ```
+ **키-값 쌍** - 리소스 이름을 키로 지정하고 해당 리소스와 함께 사용할 컨테이너 이미지 URI를 값으로 지정합니다. 이 형식을 사용하면 애플리케이션의 각 리소스에 대해 서로 다른 컨테이너 이미지 URI를 지정할 수 있습니다. 다음은 예제입니다.

  ```
  $ sam sync --build-image Function1=amazon/aws-sam-cli-build-image-python3.8
  ```
이 옵션은 `--use-container` 옵션이 지정된 경우에만 적용되며, 그렇지 않으면 오류가 발생합니다.

`--build-in-source | --no-build-in-source`  <a name="sam-cli-command-reference-sam-sync-options-build-in-source"></a>
소스 폴더에서 프로젝트를 직접 빌드하기 위한 `--build-in-source`를 제공합니다.  
`--build-in-source` 옵션은 다음과 같은 런타임과 빌드 메서드를 지원합니다.  
+ **런타임** - `sam init --runtime` 옵션에서 지원하는 모든 Node.js 런타임.
+ **빌드 메서드** - `Makefile`, `esbuild`.
`--build-in-source` 옵션은 다음 옵션과 호환되지 않습니다.  
+ `--use-container `
*기본값*: `--no-build-in-source`

`--capabilities LIST`  <a name="sam-cli-command-reference-sam-sync-options-capabilities"></a>
가 특정 스택을 생성할 CloudFormation 수 있도록 지정하는 기능 목록입니다. 일부 스택 템플릿에는의 권한에 영향을 미칠 수 있는 리소스가 포함될 수 있습니다 AWS 계정. 예를 들어 새 AWS Identity and Access Management (IAM) 사용자를 생성합니다. 기본값을 재정의하려면 이 옵션을 지정합니다. 유효 값에는 다음이 포함됩니다.  
+ CAPABILITY\$1IAM
+ CAPABILITY\$1NAMED\$1IAM
+ CAPABILITY\$1RESOURCE\$1POLICY
+ CAPABILITY\$1AUTO\$1EXPAND
*기본값*: `CAPABILITY_NAMED_IAM` 및 `CAPABILITY_AUTO_EXPAND`

`--code`  <a name="sam-cli-command-reference-sam-sync-options-code"></a>
기본적으로는 애플리케이션의 모든 리소스를 AWS SAM 동기화합니다. 다음을 포함하는 코드 리소스만 동기화하려면 이 옵션을 지정합니다.  
+ `AWS::Serverless::Function`
+ `AWS::Lambda::Function`
+ `AWS::Serverless::LayerVersion`
+ `AWS::Lambda::LayerVersion`
+ `AWS::Serverless::Api`
+ `AWS::ApiGateway::RestApi`
+ `AWS::Serverless::HttpApi`
+ `AWS::ApiGatewayV2::Api`
+ `AWS::Serverless::StateMachine`
+ `AWS::StepFunctions::StateMachine`
코드 리소스를 동기화하려면를 통해 배포하는 대신 AWS 서비스 APIs를 직접 AWS SAM 사용합니다 AWS CloudFormation. CloudFormation 스택을 업데이트하려면 **sam sync --watch** 또는를 실행합니다**sam deploy**.

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

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

`--dependency-layer | --no-dependency-layer`  <a name="sam-cli-command-reference-sam-sync-options-dependency-layer"></a>
동기화 프로세스의 속도를 높이기 위해 개별 함수의 종속성을 다른 계층으로 분리할지 여부를 지정합니다.  
*기본값*: `--dependency-layer`

`--image-repository TEXT`  <a name="sam-cli-command-reference-sam-sync-options-image-repository"></a>
이 명령이 함수의 이미지를 업로드하는 Amazon Elastic Container Registry(Amazon ECR) 리포지토리의 이름. `Image` 패키지 유형으로 선언된 함수에 필요합니다.

`--image-repositories TEXT`  <a name="sam-cli-command-reference-sam-sync-options-image-repositories"></a>
Amazon ECR 리포지토리 URI에 대한 함수의 매핑. 논리적 ID의 함수 참조. 다음은 그 예제입니다.  

```
$ sam sync --image-repositories Function1=123456789012.dkr.ecr.us-east-1.amazonaws.com/my-repo
```
이 옵션은 하나의 명령에서 여러 번 지정할 수 있습니다.

`--kms-key-id TEXT`  <a name="sam-cli-command-reference-sam-sync-options-kms-key-id"></a>
Amazon S3 버킷에 저장된 아티팩트를 암호화하는 데 사용되는 AWS Key Management Service (AWS KMS) 키의 ID입니다. 이 옵션을 지정하지 않으면는 Amazon S3-managed 암호화 키를 AWS SAM 사용합니다.

`--metadata`  <a name="sam-cli-command-reference-sam-sync-options-metadata"></a>
템플릿에서 참조하는 모든 아티팩트에 연결할 메타데이터 맵.

`--notification-arns LIST`  <a name="sam-cli-command-reference-sam-sync-options-notification-arns"></a>
스택과 CloudFormation 연결되는 Amazon Simple Notification Service(Amazon SNS) 주제 ARNs의 목록입니다.

`--no-use-container`  <a name="ref-sam-cli-sync-options-no-use-container"></a>
IDE 툴킷이 기본 동작을 설정하는 데 사용할 수 있는 옵션입니다.

`--parameter-overrides`  <a name="sam-cli-command-reference-sam-sync-options-parameter-overrides"></a>
 CloudFormation 파라미터가 포함된 문자열은 키-값 페어로 인코딩됩니다. AWS Command Line Interface ()와 동일한 형식을 사용합니다AWS CLI. AWS SAM CLI 형식은 명시적 키 및 값 키워드이며 각 재정의는 공백으로 구분됩니다. 다음은 두 가지 예제입니다.  
+ `--parameter-overrides ParameterKey=hello,ParameterValue=world`
+ `--parameter-overrides ParameterKey=hello,ParameterValue=world ParameterKey=example1,ParameterValue=example2 ParameterKey=apple,ParameterValue=banana`

`--resource TEXT`  <a name="sam-cli-command-reference-sam-sync-options-resource"></a>
동기화할 리소스 유형을 지정합니다. 여러 리소스를 동기화하기 위해 이 옵션을 여러 번 지정할 수 있습니다. 이 옵션은 `--code` 옵션과 함께 지원됩니다. 이 값은 `--code`에 나열된 리소스 중 하나여야 합니다. 예를 들어 `--resource AWS::Serverless::Function --resource AWS::Serverless::LayerVersion`입니다.

`--resource-id TEXT`  <a name="sam-cli-command-reference-sam-sync-options-resource-id"></a>
동기화할 리소스 ID를 지정합니다. 여러 리소스를 동기화하기 위해 이 옵션을 여러 번 지정할 수 있습니다. 이 옵션은 `--code` 옵션과 함께 지원됩니다. 예를 들어 `--resource-id Function1 --resource-id Function2`입니다.

`--role-arn TEXT`  <a name="sam-cli-command-reference-sam-sync-options-role-arn"></a>
변경 세트를 적용할 때가 CloudFormation 수임하는 IAM 역할의 Amazon 리소스 이름(ARN)입니다.

`--s3-bucket TEXT`  <a name="sam-cli-command-reference-sam-sync-options-s3-bucket"></a>
이 명령이 CloudFormation 템플릿을 업로드하는 Amazon Simple Storage Service(Amazon S3) 버킷의 이름입니다. 템플릿이 51,200바이트를 초과하는 경우 `--s3-bucket` 또는 `--resolve-s3` 옵션이 필요합니다. `--s3-bucket` 및 `--resolve-s3` 옵션을 모두 지정하면 오류가 발생합니다.

`--s3-prefix TEXT`  <a name="sam-cli-command-reference-sam-sync-options-s3-prefix"></a>
Amazon S3 버킷에 업로드하는 아티팩트의 이름에 추가되는 접두사. 접두사 이름은 Amazon S3 버킷의 경로 이름(폴더 이름)입니다. 이는 `Zip` 패키지 유형으로 선언된 함수에만 적용됩니다.

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

`--skip-deploy-sync | --no-skip-deploy-sync`  <a name="sam-cli-command-reference-sam-sync-options-skip-deploy-sync"></a>
필요하지 않은 경우 초기 인프라 동기화를 건너뛰는 `--skip-deploy-sync`를 지정합니다. AWS SAM CLI는 로컬 AWS SAM 템플릿을 배포된 CloudFormation 템플릿과 비교하고 변경이 감지된 경우에만 배포를 수행합니다.  
`--no-skip-deploy-sync`가 `sam sync` 실행될 때마다 CloudFormation 배포를 수행하도록 지정합니다.  
자세한 내용은 [초기 CloudFormation 배포 건너뛰기](using-sam-cli-sync.md#using-sam-cli-sync-options-skip-deploy-sync)를 참조하세요.  
*기본값*: `--skip-deploy-sync`

`--stack-name TEXT`  <a name="sam-cli-command-reference-sam-sync-options-stack-name"></a>
애플리케이션의 CloudFormation 스택 이름입니다.  
이 옵션은 필수입니다.

`--tags LIST`  <a name="sam-cli-command-reference-sam-sync-options-tags"></a>
생성되거나 업데이트된 스택과 연결할 태그 목록입니다. CloudFormation 또한 이러한 태그를 지원하는 스택의 리소스에 전파합니다.

`--template-file, --template, -t PATH`  <a name="sam-cli-command-reference-sam-sync-options-template-file"></a>
 AWS SAM 템플릿이 위치한 경로 및 파일 이름입니다.  
이 옵션을 지정하면는 템플릿과 템플릿이 가리키는 로컬 리소스만 AWS SAM 배포합니다.

`--use-container, -u`  <a name="sam-cli-command-reference-sam-sync-options-use-container"></a>
함수가 기본적으로 컴파일된 종속성이 있는 패키지에 의존하는 경우이 옵션을 사용하여 AWS Lambda유사 Docker 컨테이너 내에 함수를 빌드합니다.  
현재 이 옵션은 `--dependency-layer`와 호환되지 않습니다. `--use-container`를 `--dependency-layer`와 함께 사용하면 AWS SAMCLI는 이를 알리고 `--no-dependency-layer`를 계속 사용합니다.

`--watch`  <a name="sam-cli-command-reference-sam-sync-options-watch"></a>
로컬 애플리케이션의 변경 사항을 감시하고에 자동으로 동기화하는 프로세스를 시작합니다 AWS 클라우드. 기본적으로이 옵션을 지정하면는 애플리케이션의 모든 리소스를 업데이트할 때 AWS SAM 동기화합니다. 이 옵션을 사용하면가 초기 CloudFormation 배포를 AWS SAM 수행합니다. 그런 다음 AWS 서비스 APIs AWS SAM 사용하여 코드 리소스를 업데이트합니다. AWS SAM 템플릿을 업데이트할 때는 CloudFormation 를 AWS SAM 사용하여 인프라 리소스를 업데이트합니다.

`--watch-exclude TEXT`  <a name="sam-cli-command-reference-sam-sync-options-watch-exclude"></a>
파일 또는 폴더를 파일 변경 관찰 대상에서 제외합니다. 이 옵션을 사용하려면 `--watch` 도 제공해야 합니다.  
이 옵션은 다음과 같은 키-값 페어를 수신합니다.  
+ **키** — 애플리케이션에 있는 Lambda 함수의 논리적 ID.
+ **값** - 제외할 관련 파일 이름 또는 폴더.
`--watch-exclude` 옵션으로 지정된 파일 또는 폴더를 업데이트하면 AWS SAM CLI가 동기화를 시작하지 않습니다. 하지만 다른 파일이나 폴더에 대한 업데이트로 인해 동기화가 시작하면 해당 파일 또는 폴더가 해당 동기화에 포함됩니다.  
단일 명령에서 이 옵션을 여러 번 제공할 수 있습니다.

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

이 명령을 사용하는 예제는 [sam sync 명령의 옵션](using-sam-cli-sync.md#using-sam-cli-sync-options) 섹션을 참조하세요.