

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

# AWS SAM 참조
<a name="serverless-sam-reference"></a>

 이 섹션에는 AWS SAM 참조 자료가 포함되어 있습니다. 여기에는 AWS SAMCLI 명령에 대한 참조 정보와 같은 AWS SAMCLI 참조 자료와 구성, 버전 제어, 문제 해결 정보와 같은 추가 AWS SAMCLI 정보가 포함됩니다. 또한이 섹션에는 커넥터, 이미지 리포지토리 및 배포에 대한 참조 정보와 같은 AWS SAM 사양 및 AWS SAM 템플릿에 대한 참조 정보가 포함되어 있습니다.

## AWS SAM 사양 및 AWS SAM 템플릿
<a name="serverless-sam-spec"></a>

 AWS SAM 사양은 Apache 2.0 라이선스에 따른 오픈 소스 사양입니다. AWS SAM 사양의 현재 버전은에서 사용할 수 있습니다[AWS SAM 템플릿](sam-specification.md). AWS SAM 사양은 서버리스 애플리케이션의 함수, 이벤트, APIs, 구성 및 권한을 정의하는 데 사용하는 간소화된 간편 구문과 함께 제공됩니다.

**sam init** 명령을 실행할 때 생성되는 폴더 및 파일인 AWS SAM 애플리케이션 프로젝트 디렉터리를 통해 AWS SAM 사양과 상호 작용합니다. 이 디렉터리에는 AWS 리소스를 정의하는 중요한 파일인 AWS SAM 템플릿이 포함되어 있습니다. AWS SAM 템플릿은 AWS CloudFormation 템플릿의 확장입니다. CloudFormation 템플릿에 대한 전체 참조는 *AWS CloudFormation 사용 설명서*의 [템플릿 참조](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/template-reference.html)를 참조하세요.

## AWS SAMCLI 명령 참조
<a name="serverless-sam-cli"></a>

 AWS Serverless Application Model 명령줄 인터페이스(AWS SAM CLI)는 AWS SAM 템플릿 및 지원되는 타사 통합과 함께 사용하여 서버리스 애플리케이션을 빌드하고 실행할 수 있는 명령줄 도구입니다.

 AWS SAMCLI 명령을 사용하여 서버리스 애플리케이션을 개발, 테스트하고 AWS 클라우드에 배포할 수 있습니다. 다음은 몇 가지 AWS SAMCLI 명령의 예입니다.
+ `sam init` - 처음 AWS SAMCLI를 사용하는 경우, 파라미터 없이 `sam init` 명령을 실행하여 Hello World 애플리케이션을 만들 수 있습니다. 명령은 선택한 언어로 사전 구성된 AWS SAM 템플릿과 예제 애플리케이션 코드를 생성합니다.
+ `sam local invoke` 및 `sam local start-api` - 이 명령을 사용하여 애플리케이션 코드를 로컬에서 테스트한 다음 애플리케이션 코드를 AWS 클라우드에 배포합니다.
+ `sam logs` - 이 명령을 사용하여 Lambda 함수가 생성하는 로그를 가져올 수 있습니다. 이렇게 하면 애플리케이션을 AWS 클라우드에 배포한 후 애플리케이션을 테스트하고 디버깅하는 데 도움이 될 수 있습니다.
+ `sam package` - 이 명령을 사용하여 애플리케이션 코드와 종속성을 *배포 패키지*로 번들링할 수 있습니다. AWS 클라우드에 애플리케이션을 업로드하려면 배포 패키지가 필요합니다.
+ `sam deploy` - 이 명령을 사용하여 서버리스 애플리케이션을 AWS 클라우드에 배포합니다. AWS 리소스를 생성하고 AWS SAM 템플릿에 정의된 권한 및 기타 구성을 설정합니다.

설치에 대한 지침은 단원을 AWS SAM CLI참조하십시오[AWS SAM CLI 설치](install-sam-cli.md).

## AWS SAM 정책 템플릿
<a name="serverless-policy-temps"></a>

를 사용하면 정책 템플릿 목록에서 선택하여 애플리케이션이 사용하는 리소스에 대한 함수의 권한 범위를 AWS SAM AWS Lambda 지정할 수 있습니다. 사용 가능한 정책 템플릿 목록은 [정책 템플릿 테이블](serverless-policy-templates.md#serverless-policy-template-table) 섹션을 참조하세요. 정책 템플릿 및에 대한 일반적인 정보는 단원을 AWS SAM참조하십시오[AWS SAM정책 템플릿](serverless-policy-templates.md).

## 주제
<a name="reference-sam-topics"></a>
+ [AWS SAM 템플릿](sam-specification.md)
+ [AWS SAM CLI 명령 참조](serverless-sam-cli-command-reference.md)
+ [AWS SAMCLI구성 파일](serverless-sam-cli-config.md)
+  [AWS SAM 커넥터 참조](reference-sam-connector.md) 
+ [AWS SAM정책 템플릿](serverless-policy-templates.md)
+ [의 이미지 리포지토리 AWS SAM](serverless-image-repositories.md)
+ [AWS SAM CLI 내 텔레메트리](serverless-sam-telemetry.md)
+ [AWS SAM 템플릿에서 리소스 액세스 설정 및 관리](sam-permissions.md)

# AWS SAM CLI 명령 참조
<a name="serverless-sam-cli-command-reference"></a>

이 섹션에는 AWS SAM CLI 명령에 대한 참조 정보가 포함되어 있습니다. 여기에는 사용법, 각 명령어에 사용할 수 있는 다양한 옵션의 포괄적인 목록 및 추가 정보가 포함되어 있습니다. 해당하는 경우 추가 정보에는 인수, 환경 변수, 이벤트 등과 같은 세부 정보가 포함됩니다. 자세한 내용은 각 명령을 참조하세요. 설치에 대한 지침은 단원을 AWS SAM CLI참조하십시오[AWS SAM CLI 설치](install-sam-cli.md).

**Topics**
+ [sam build](sam-cli-command-reference-sam-build.md)
+ [sam delete](sam-cli-command-reference-sam-delete.md)
+ [sam deploy](sam-cli-command-reference-sam-deploy.md)
+ [sam init](sam-cli-command-reference-sam-init.md)
+ [sam list](sam-cli-command-reference-sam-list.md)
+ [sam local callback](sam-cli-command-reference-sam-local-callback.md)
+ [sam local execution](sam-cli-command-reference-sam-local-execution.md)
+ [sam local generate-event](sam-cli-command-reference-sam-local-generate-event.md)
+ [sam local invoke](sam-cli-command-reference-sam-local-invoke.md)
+ [sam local start-api](sam-cli-command-reference-sam-local-start-api.md)
+ [sam local start-lambda](sam-cli-command-reference-sam-local-start-lambda.md)
+ [sam logs](sam-cli-command-reference-sam-logs.md)
+ [sam package](sam-cli-command-reference-sam-package.md)
+ [sam pipeline bootstrap](sam-cli-command-reference-sam-pipeline-bootstrap.md)
+ [sam pipeline init](sam-cli-command-reference-sam-pipeline-init.md)
+ [sam publish](sam-cli-command-reference-sam-publish.md)
+ [sam remote callback](sam-cli-command-reference-sam-remote-callback.md)
+ [sam remote execution](sam-cli-command-reference-sam-remote-execution.md)
+ [sam remote invoke](sam-cli-command-reference-remote-invoke.md)
+ [sam remote test-event](sam-cli-command-reference-remote-test-event.md)
+ [sam sync](sam-cli-command-reference-sam-sync.md)
+ [sam traces](sam-cli-command-reference-sam-traces.md)
+ [sam validate](sam-cli-command-reference-sam-validate.md)

# 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) 섹션을 참조하세요.

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

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

에 대한 소개는 단원을 AWS SAM CLI참조하십시오. [란 무엇입니까 AWS SAM CLI?](what-is-sam-overview.md#what-is-sam-cli) 

이 `sam delete` 명령은 CloudFormation 스택, Amazon S3 및 Amazon ECR에 패키징 및 배포된 아티팩트, AWS SAM 템플릿 파일을 삭제하여 AWS SAM 애플리케이션을 삭제합니다.

이 명령은 또한 Amazon ECR 컴패니언 스택이 배포되어 있는지 확인하고, 배포되어 있다면 사용자에게 해당 스택 및 Amazon ECR 리포지토리를 삭제할지 묻는 메시지를 표시합니다. `--no-prompts`이 지정되면 컴패니언 스택과 Amazon ECR 리포지토리가 기본적으로 삭제됩니다.

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

```
$ sam delete <options>
```

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

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

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

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

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

`--no-prompts`  <a name="sam-cli-command-reference-sam-delete-options-no-prompts"></a>
비대화형 모드에서 AWS SAM 작동하도록 하려면이 옵션을 지정합니다. 스택 이름은 `--stack-name` 옵션과 함께 제공되거나 구성 `toml` 파일에 제공되어야 합니다.

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

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

`--s3-bucket`  <a name="sam-cli-command-reference-sam-delete-options-s3-bucket"></a>
삭제할 Amazon S3 버킷의 경로입니다.

`--s3-prefix`  <a name="sam-cli-command-reference-sam-delete-options-s3-prefix"></a>
삭제할 Amazon S3 버킷의 접두사입니다.

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

`--stack-name TEXT`  <a name="sam-cli-command-reference-sam-delete-options-stack-name"></a>
삭제할 CloudFormation 스택의 이름입니다.

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

다음 명령은 `MY-STACK` 스택을 삭제합니다.

```
$ sam delete --stack-name MY-STACK
```

다음 명령은 `MY-STACK` 스택 및 `sam-s3-demo-bucket` S3 버킷을 삭제합니다.

```
$ sam delete \
    --stack-name MyStack \
    --s3-bucket MySAMBucket
```

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

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

`sam deploy` 명령은를 AWS 클라우드 사용하여에 애플리케이션을 배포합니다 AWS CloudFormation.

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

```
$ <environment variables> sam deploy <options>
```

## 환경 변수
<a name="ref-sam-cli-deploy-env"></a>

`SAM_CLI_POLL_DELAY`  <a name="ref-sam-cli-deploy-env-sam-cli-poll-delay"></a>
`SAM_CLI_POLL_DELAY` 환경 변수를 쉘의 초 값으로 설정하여 AWS SAM CLI가 CloudFormation 스택 상태를 확인하는 빈도를 구성합니다.이 빈도는 제한을 볼 때 유용합니다 CloudFormation. 이 env 변수는 `sam deploy` 실행 중에 수행되는 `describe_stack` API 호출을 폴링하는 데 사용됩니다.  
다음은 이 변수의 예입니다.  

```
$ SAM_CLI_POLL_DELAY=5 sam deploy
```

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

`--capabilities LIST`  <a name="ref-sam-cli-deploy-options-capabilities"></a>
가 특정 스택을 생성하도록 허용하기 CloudFormation 위해 지정해야 하는 기능 목록입니다. 일부 스택 템플릿에는 예를 AWS 계정들어 새 AWS Identity and Access Management (IAM) 사용자를 생성하여의 권한에 영향을 미치는 리소스가 포함될 수 있습니다. 그러한 스택에서는 이 옵션을 지정하여 스택의 기능을 명확히 확인해야 합니다. 유일하게 유효한 값은 `CAPABILITY_IAM`과 `CAPABILITY_NAMED_IAM`입니다. IAM 리소스가 있는 경우 둘 중 어느 기능이든 지정할 수 있습니다. 사용자 정의 이름을 갖는 IAM 리소스가 있는 경우 `CAPABILITY_NAMED_IAM`을 지정해야 합니다. 이 옵션을 지정하지 않으면 작업에서 `InsufficientCapabilities` 오류를 반환합니다.  
중첩된 애플리케이션이 포함된 애플리케이션을 배포할 때는 `CAPABILITY_AUTO_EXPAND`를 사용하여 애플리케이션에 중첩 애플리케이션이 포함되어 있음을 알려야 합니다. 자세한 내용은 [중첩 애플리케이션 배포](serverless-sam-template-nested-applications.md#serverless-sam-templates-nested-applications-deploying) 단원을 참조하십시오.

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

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

`--confirm-changeset | --no-confirm-changeset`  <a name="ref-sam-cli-deploy-options-confirm-changeset"></a>
 AWS SAMCLI가 계산된 변경 세트를 배포할지를 확인해달라는 프롬프트입니다.

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

`--disable-rollback | --no-disable-rollback`  <a name="ref-sam-cli-deploy-options-disable-rollback"></a>
배포 중에 오류가 발생하는 경우 CloudFormation 스택을 롤백할지 여부를 지정합니다. 기본적으로 배포 중에 오류가 발생하면 CloudFormation 스택이 마지막 안정 상태로 롤백됩니다. `--disable-rollback`을 지정했는데 배포 중에 오류가 발생하면 오류가 발생하기 전에 생성되거나 업데이트된 리소스는 롤백되지 않습니다.

`--fail-on-empty-changeset | --no-fail-on-empty-changeset`  <a name="ref-sam-cli-deploy-options-fail-on-empty-changeset"></a>
스택에 변경 사항이 없는 경우 0이 아닌 종료 코드를 반환할지 여부를 지정하십시오. 기본 동작은 0이 아닌 종료 코드를 반환하는 것입니다.

`--force-upload`  <a name="ref-sam-cli-deploy-options-force-upload"></a>
Amazon S3 버킷의 기존 아티팩트와 일치하더라도 아티팩트를 업로드하려면 이 옵션을 지정하십시오. 일치하는 아티팩트는 덮어씁니다.

`--guided, -g`  <a name="ref-sam-cli-deploy-options-guided"></a>
이 옵션을 지정하면 AWS SAMCLI에서 메시지를 사용하여 배포 과정을 안내합니다.

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

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

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

`--image-repository TEXT`  <a name="ref-sam-cli-deploy-options-image-repository"></a>
이 명령이 함수 이미지를 업로드하는 Amazon ECR 리포지토리의 이름입니다. 이 옵션은 `Image` 패키지 유형으로 선언된 함수에 필요합니다.

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

`--metadata`  <a name="ref-sam-cli-deploy-options-metadata"></a>
템플릿에서 참조되는 모든 아티팩트에 첨부할 메타데이터 맵입니다.

`--no-execute-changeset`  <a name="ref-sam-cli-deploy-options-no-execute-changeset"></a>
변경 세트를 적용할지를 나타냅니다. 변경 세트를 적용하기 전에 스택 변경 내용을 보려면 이 옵션을 지정하십시오. 이 명령은 CloudFormation 변경 세트를 만든 다음 변경 세트를 적용하지 않고 종료합니다. 변경 세트를 적용하려면 이 옵션 없이 동일한 명령을 실행합니다.

`--no-progressbar`  <a name="ref-sam-cli-deploy-options-no-progressbar"></a>
Amazon S3에 아티팩트를 업로드할 때 진행률 표시줄을 표시하지 마십시오.

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

`--on-failure [ROLLBACK | DELETE | DO_NOTHING]`  <a name="ref-sam-cli-deploy-options-on-failure"></a>
스택을 생성하지 못할 때 취할 조치를 지정합니다.  
다음 옵션을 사용할 수 있습니다.  
+ `ROLLBACK` – 스택을 이전에 알려진 정상 상태로 롤백합니다.
+ `DELETE` – 스택이 존재하는 경우 이전에 알려진 정상 상태로 롤백합니다. 그렇지 않으면 스택을 삭제합니다.
+ `DO_NOTHING` – 스택을 롤백하거나 삭제하지 않습니다. 효과는 `--disable-rollback`과 동일합니다.
기본값은 `ROLLBACK`입니다.  
`--disable-rollback` 옵션 또는 `--on-failure` 옵션을 지정할 수 있지만 둘 다 모두 지정할 수는 없습니다.

`--parameter-overrides LIST`  <a name="ref-sam-cli-deploy-options-parameter-overrides"></a>
키-값 페어로 인코딩된 CloudFormation 파라미터 재정의가 포함된 문자열입니다. 각 재정의는 `ParameterKey=name,ParameterValue=value` 형식을 사용합니다. 여러 재정의를 공백으로 구분합니다. 다음은 두 가지 예제입니다.  

```
$ sam deploy --parameter-overrides ParameterKey=value1,ParameterValue=value2
```

```
$ sam deploy --parameter-overrides ParameterKey=value1,ParameterValue=value2 ParameterKey=hello,ParameterValue=world ParameterKey=apple,ParameterValue=banana
```

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

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

`--resolve-image-repos`  <a name="ref-sam-cli-deploy-options-resolve-image-repos"></a>
가이드 없는 배포를 위한 패키징 및 배포에 사용할 Amazon ECR 리포지토리를 자동으로 생성합니다. 이 옵션은 `PackageType: Image`이 지정된 함수 및 계층에만 적용됩니다. `--guided` 옵션을 지정하는 경우, AWS SAMCLI은 `--resolve-image-repos`를 무시합니다.  
가이 옵션을 사용하여 함수 또는 계층에 대한 Amazon ECR 리포지토리를 AWS SAM 자동으로 생성하고 나중에 AWS SAM 템플릿에서 해당 함수 또는 계층을 삭제하면 해당 Amazon ECR 리포지토리가 자동으로 삭제됩니다.

`--resolve-s3`  <a name="ref-sam-cli-deploy-options-resolve-s3"></a>
가이드 없는 배포를 위한 패키징 및 배포에 사용할 Amazon S3 버킷을 자동으로 생성합니다. `--guided` 옵션을 지정하는 경우 AWS SAM CLI는 `--resolve-s3`을 무시합니다. `--s3-bucket` 및 `--resolve-s3` 옵션을 모두 지정하면 오류가 발생합니다.

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

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

`--s3-prefix TEXT`  <a name="ref-sam-cli-deploy-options-s3-prefix"></a>
접두사는 Amazon S3 버킷에 업로드되는 아티팩트의 이름에 추가됩니다. 접두사 이름은 Amazon S3 버킷의 경로 이름(폴더 이름)입니다.

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

`--signing-profiles LIST`  <a name="ref-sam-cli-deploy-options-signing-profiles"></a>
배포 패키지에 서명하는 데 사용할 서명 프로필 목록입니다. 이 옵션은 키-값 쌍의 목록을 사용합니다. 여기서 키는 서명할 함수 또는 계층의 이름이고 값은 서명 프로필이며 선택적 프로필 소유자는 `:`로 제한됩니다. 예를 들어 `FunctionNameToSign=SigningProfileName1 LayerNameToSign=SigningProfileName2:SigningProfileOwner`입니다.

`--stack-name TEXT`  <a name="ref-sam-cli-deploy-options-stack-name"></a>
(필수) 배포하려는 CloudFormation 스택의 이름입니다. 기존 스택을 지정하시면 명령이 해당 스택을 업데이트합니다. 새 스택을 지정하시면 명령이 해당 스택을 생성합니다.

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

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

`--use-json`  <a name="ref-sam-cli-deploy-options-use-json"></a>
 CloudFormation 템플릿의 출력 JSON입니다. 기본 출력 결과는 YAML입니다.

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

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

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

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

이 `sam init` 명령은 새 서버리스 애플리케이션을 초기화하는 옵션을 제공합니다.

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

```
$ sam init <options>
```

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

`--app-template TEXT`  <a name="sam-cli-command-reference-sam-init-options-app-template"></a>
사용하고자 하는 관리 애플리케이션 템플릿의 식별자입니다. 확실하지 않은 경우 대화형 워크플로를 위해 옵션 없이 `sam init`을 직접 호출합니다.  
`--no-interactive`이 지정되고 `--location`가 제공되지 않은 경우, 이 매개변수는 필수입니다.  
이 매개변수는 AWS SAM CLI 버전 0.30.0 이상에서만 사용할 수 있습니다. 이 매개변수를 이전 버전과 함께 지정하면 오류가 발생합니다.

`--application-insights | --no-application-insights`  <a name="sam-cli-command-reference-sam-init-options-application-insights"></a>
 Amazon CloudWatch Application Insights 모니터링을 활성화하십시오. 자세한 내용은 [CloudWatch Application Insights를 사용하여 AWS SAM 서버리스 애플리케이션 모니터링](monitor-app-insights.md)을 참조하십시오.  
 기본 옵션은 `--no-application-insights`입니다.

`--architecture, -a [ x86_64 | arm64 ]`  <a name="sam-cli-command-reference-sam-init-options-architecture"></a>
애플리케이션의 Lambda 함수에 대한 명령어 세트 아키텍처입니다. `x86_64` 또는 `arm64` 중 하나를 지정하십시오.

`--base-image [ amazon/dotnet8-base | amazon/dotnet6-base | amazon/java25-base | amazon/java21-base | amazon/java17-base | amazon/java11-base | amazon/nodejs24.x-base | amazon/nodejs22.x-base | amazon/nodejs20.x-base | amazon/nodejs18.x-base | amazon/nodejs16.x-base | amazon/python3.14-base | amazon/python3.13-base | amazon/python3.12-base | amazon/python3.11-base | amazon/python3.10-base | amazon/python3.9-base | amazon/python3.8-base | amazon/ruby3.4-base | amazon/ruby3.3-base | amazon/ruby3.2-base ]`  <a name="sam-cli-command-reference-sam-init-options-base-image"></a>
애플리케이션의 기본 이미지입니다. 이 옵션은 패키지 유형이 `Image`인 경우에만 적용됩니다.  
`--no-interactive`이 지정되고, `--package-type`가 `Image`으로 지정되고, `--location`가 지정되지 않은 경우, 이 매개변수는 필수입니다.

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

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

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

`--dependency-manager, -d [ gradle | mod | maven | bundler | npm | cli-package | pip ]`  <a name="sam-cli-command-reference-sam-init-options-dependency-manager"></a>
Lambda 런타임의 종속물 관리자.

`--extra-content`  <a name="sam-cli-command-reference-sam-init-options-extra-content"></a>
템플릿의 `cookiecutter.json` 구성의 모든 사용자 지정 매개변수를 재정의합니다(예: `{"customParam1": "customValue1", "customParam2":"customValue2"}`).

`--help, -h`  <a name="sam-cli-command-reference-sam-init-options-help"></a>
이 메시지를 표시한 후 종료합니다.

`--location, -l TEXT`  <a name="sam-cli-command-reference-sam-init-options-location"></a>
템플릿 또는 애플리케이션 위치(Git, Mercurial, HTTP/HTTPS, .zip 파일, 경로)입니다.  
`--no-interactive`이 지정되고 `--runtime`, `--name` 및 `--app-template`가 제공되지 않은 경우, 이 매개변수는 필수입니다.   
Git 리포지토리의 경우 리포지토리의 루트 위치를 사용해야 합니다.  
로컬 경로의 경우 템플릿은. zip 파일 또는 [Cookiecutter](https://cookiecutter.readthedocs.io/en/latest/README.html) 형식이어야 합니다.

`--name, -n TEXT`  <a name="sam-cli-command-reference-sam-init-options-name"></a>
디렉터리로 생성할 프로젝트의 이름입니다.  
`--no-interactive`이 지정되고 `--location`가 제공되지 않은 경우, 이 매개변수는 필수입니다.

`--no-input`  <a name="sam-cli-command-reference-sam-init-options-no-input"></a>
Cookiecutter 프롬프트를 비활성화하고 템플릿 구성에 정의된 vcfdefault 값을 승인합니다.

`--no-interactive`  <a name="sam-cli-command-reference-sam-init-options-no-interactive"></a>
초기 매개변수에 대한 대화식 프롬프트를 비활성화하고 필수 값이 누락되면 실패합니다.

`--output-dir, -o PATH`  <a name="sam-cli-command-reference-sam-init-options-output-dir"></a>
초기화된 응용 프로그램이 출력되는 위치입니다.

`--package-type [ Zip | Image ]`  <a name="sam-cli-command-reference-sam-init-options-package-type"></a>
예제 애플리케이션의 패키지 유형입니다. `Zip`이 .zip 파일 아카이브를 만들고 `Image`가 컨테이너 이미지를 만듭니다.

`--runtime, -r [ dotnet8 | dotnet6 | java25 | java21 | java17 | java11 | nodejs24.x | nodejs22.x | nodejs20.x | nodejs18.x | nodejs16.x | python3.14 | python3.13 | python3.12 | python3.11 | python3.10 | python3.9 | python3.8 | ruby3.4 | ruby3.3 | ruby3.2 ]`  <a name="sam-cli-command-reference-sam-init-options-runtime"></a>
애플리케이션의 Lambda 런타임입니다. 이 옵션은 패키지 유형이 `Zip`인 경우에만 적용됩니다.  
`--no-interactive`이 지정되고, `--package-type`가 `Zip`으로 지정되고, `--location`가 지정되지 않은 경우, 이 매개변수는 필수입니다.

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

`--tracing | --no-tracing`  <a name="sam-cli-command-reference-sam-init-options-tracing"></a>
Lambda 함수에 대한 AWS X-Ray 추적을 활성화합니다.

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

`sam init` 하위 명령 사용에 대한 자세한 예제와 심층적인 단계별 설명은 [에서 애플리케이션 생성 AWS SAM](using-sam-cli-init.md) 섹션을 참조하세요.

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

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

에 대한 소개는 단원을 AWS SAM CLI참조하십시오. [란 무엇입니까 AWS SAM CLI?](what-is-sam-overview.md#what-is-sam-cli) 

이 `sam list` 명령은 귀하의 서버리스 애플리케이션의 리소스 및 그러한 서버리스 애플리케이션의 상태에 대한 중요한 정보를 출력합니다. 배포 전후에 **sam list**을 사용하여 로컬 및 클라우드 개발을 지원할 수 있습니다.

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

```
$ sam list <options> <subcommand>
```

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

`--help, -h`  <a name="sam-cli-command-reference-sam-list-options-help"></a>
이 메시지를 표시한 후 종료합니다.

## 하위 명령
<a name="sam-cli-command-reference-sam-list-subcommands"></a>

`endpoints`  <a name="sam-cli-command-reference-sam-list-subcommands-endpoints"></a>
 CloudFormation 스택의 클라우드 및 로컬 엔드포인트 목록을 표시합니다. 자세한 내용은 [sam list endpoints](sam-cli-command-reference-sam-list-endpoints.md) 단원을 참조하십시오.

`resources`  <a name="sam-cli-command-reference-sam-list-subcommands-resources"></a>
배포 AWS CloudFormation 시에서 생성된 AWS Serverless Application Model (AWS SAM) 템플릿의 리소스를 표시합니다. 자세한 내용은 [sam list resources](sam-cli-command-reference-sam-list-resources.md) 단원을 참조하십시오.

`stack-outputs`  <a name="sam-cli-command-reference-sam-list-subcommands-stack-outputs"></a>
 AWS SAM 또는 CloudFormation 템플릿에서 CloudFormation 스택의 출력을 표시합니다. 자세한 내용은 [sam list stack-outputs](sam-cli-command-reference-sam-list-stack-outputs.md) 단원을 참조하십시오.

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

이 페이지에서는 AWS Serverless Application Model 명령줄 인터페이스(AWS SAM CLI) `sam list endpoints` 하위 명령에 대한 참조 정보를 제공합니다.

에 대한 소개는 단원을 AWS SAM CLI참조하십시오. [란 무엇입니까 AWS SAM CLI?](what-is-sam-overview.md#what-is-sam-cli) 

`sam list endpoints` 하위 명령에는 CloudFormation 스택의 클라우드 및 로컬 엔드포인트 목록이 표시됩니다. **sam local** 및 **sam sync**명령을 통해 이러한 리소스와 상호 작용할 수 있습니다.

AWS Lambda 및 Amazon API Gateway 리소스 유형은이 명령에서 지원됩니다.

**참고**  
Amazon API Gateway 리소스에 맞게 구성된 경우 사용자 지정 도메인이 지원됩니다. 이 명령은 기본 엔드포인트 대신 사용자 지정 도메인을 출력합니다.

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

```
$ sam list endpoints <options>
```

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

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

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

`--debug`  <a name="sam-cli-command-reference-sam-list-endpoints-options-debug"></a>
디버그 로깅을 켜면 AWS SAMCLI에서 생성한 디버그 메시지를 타임스탬프와 함께 인쇄할 수 있습니다.

`--help, -h`  <a name="sam-cli-command-reference-sam-list-endpoints-options-help"></a>
이 메시지를 표시한 후 종료합니다.

`--output [json|table]`  <a name="sam-cli-command-reference-sam-list-endpoints-options-output"></a>
결과 출력 형식을 지정합니다.  
*기본값:* `table`

`--profile TEXT`  <a name="sam-cli-command-reference-sam-list-endpoints-options-profile"></a>
자격 증명 파일에서 특정 프로필을 선택하여 AWS 자격 증명을 가져옵니다.

`--region TEXT`  <a name="sam-cli-command-reference-sam-list-endpoints-options-region"></a>
서비스의 AWS 리전을 설정합니다. 예를 들어 `us-east-1`입니다.

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

`--stack-name TEXT`  <a name="sam-cli-command-reference-sam-list-endpoints-options-stack-name"></a>
배포된 CloudFormation 스택의 이름입니다. 스택 이름은 애플리케이션의 `samconfig.toml` 파일 또는 지정된 구성 파일에서 찾을 수 있습니다.  
이 옵션을 지정하지 않으면 템플릿에 정의된 로컬 리소스가 표시됩니다.

`--template-file, --template, -t PATH`  <a name="sam-cli-command-reference-sam-list-endpoints-options-template"></a>
AWS SAM 템플릿 파일.  
*기본값:* `template.[yaml|yml|json]`

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

라는 CloudFormation 스택에서 배포된 리소스 엔드포인트의 출력을 json 형식으로 표시합니다`test-stack`.

```
$ sam list endpoints --stack-name test-stack --output json
			
[
  {
    "LogicalResourceId": "HelloWorldFunction",
    "PhysicalResourceId": "sam-app-test-list-HelloWorldFunction-H85Y7yIV7ZLq",
    "CloudEndpoint": "https://zt55oi7kbljxjmcoahsj3cknwu0rposq.lambda-url.us-east-1.on.aws/",
    "Methods": "-"
  },
  {
    "LogicalResourceId": "ServerlessRestApi",
    "PhysicalResourceId": "uj80uoe2o2",
    "CloudEndpoint": [
      "https://uj80uoe2o2.execute-api.us-east-1.amazonaws.com/Prod",
      "https://uj80uoe2o2.execute-api.us-east-1.amazonaws.com/Stage"
    ],
    "Methods": [
      "/hello['get']"
    ]
  }
]
```

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

이 페이지에서는 AWS Serverless Application Model 명령줄 인터페이스(AWS SAM CLI) `sam list resources` 하위 명령에 대한 참조 정보를 제공합니다.

에 대한 소개는 단원을 AWS SAM CLI참조하십시오. [란 무엇입니까 AWS SAM CLI?](what-is-sam-overview.md#what-is-sam-cli) 

`sam list resources` 하위 명령은 배포 시 변환에 AWS CloudFormation 의해에서 생성된 AWS Serverless Application Model (AWS SAM) 템플릿의 AWS SAM 리소스를 표시합니다.

배포 전에 AWS SAM 템플릿과 **sam list resources** 함께를 사용하여 생성될 리소스를 확인합니다. CloudFormation 스택 이름을 제공하여 배포된 리소스가 포함된 통합 목록을 봅니다.

**참고**  
 AWS SAM 템플릿에서 리소스 목록을 생성하기 위해 템플릿의 로컬 변환이 수행됩니다. 특정 지역 내와 같은 조건에 따라 배포될 리소스가 이 목록에 포함됩니다.

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

```
$ sam list resources <options>
```

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

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

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

`--debug`  <a name="sam-cli-command-reference-sam-list-resources-options-debug"></a>
디버그 로깅을 켜면 AWS SAMCLI에서 생성한 디버그 메시지를 타임스탬프와 함께 인쇄할 수 있습니다.

`--help, -h`  <a name="sam-cli-command-reference-sam-list-resources-options-help"></a>
이 메시지를 표시한 후 종료합니다.

`--output [json|table]`  <a name="sam-cli-command-reference-sam-list-resources-options-output"></a>
결과 출력 형식을 지정합니다.  
*기본값:* `table`

`--profile TEXT`  <a name="sam-cli-command-reference-sam-list-resources-options-profile"></a>
자격 증명 파일에서 특정 프로필을 선택하여 AWS 자격 증명을 가져옵니다.

`--region TEXT`  <a name="sam-cli-command-reference-sam-list-resources-options-region"></a>
서비스의 AWS 리전을 설정합니다. 예를 들어 `us-east-1`입니다.

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

`--stack-name TEXT`  <a name="sam-cli-command-reference-sam-list-resources-options-stack-name"></a>
배포된 CloudFormation 스택의 이름입니다. 스택 이름은 애플리케이션의 `samconfig.toml` 파일 또는 지정된 구성 파일에서 찾을 수 있습니다.  
제공된 경우 템플릿의 리소스 논리 ID가 CloudFormation내 상응하는 물리적 ID에 매핑됩니다. 물리적 ID에 대한 자세한 내용은 [사용자 가이드](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/resources-section-structure.html#resources-section-structure-resource-fields)의 *AWS CloudFormation 리소스 필드*를 참조하세요.  
이 옵션을 지정하지 않으면 템플릿에 정의된 로컬 리소스가 표시됩니다.

`--template-file, --template, -t PATH`  <a name="sam-cli-command-reference-sam-list-resources-options-"></a>
AWS SAM 템플릿 파일.  
*기본값:* `template.[yaml|yml|json]`

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

 AWS SAM 템플릿의 로컬 리소스와 라는 CloudFormation 스택의 배포된 리소스의 출력을 테이블 형식으로 표시합니다`test-stack`. 로컬 템플릿과 동일한 디렉터리에서 실행합니다.

```
$ sam list resources --stack-name test-stack --output table
			
-------------------------------------------------------------------------------------------------------------------------
Logical ID                                                   Physical ID
-------------------------------------------------------------------------------------------------------------------------
HelloWorldFunction                                           sam-app-test-list-HelloWorldFunction-H85Y7yIV7ZLq
HelloWorldFunctionHelloWorldPermissionProd                   sam-app-test-list-
                                                             HelloWorldFunctionHelloWorldPermissionProd-1QH7CPOCBL2IK
HelloWorldFunctionRole                                       sam-app-test-list-HelloWorldFunctionRole-SRJDMJ6F7F41
ServerlessRestApi                                            uj80uoe2o2
ServerlessRestApiDeployment47fc2d5f9d                        pncw5f
ServerlessRestApiProdStage                                   Prod
ServerlessRestApiDeploymentf5716dc08b                        -
-------------------------------------------------------------------------------------------------------------------------
```

# sam list stack-outputs
<a name="sam-cli-command-reference-sam-list-stack-outputs"></a>

이 페이지에서는 AWS Serverless Application Model 명령줄 인터페이스(AWS SAM CLI) `sam list stack-outputs` 하위 명령에 대한 참조 정보를 제공합니다.

에 대한 소개는 단원을 AWS SAM CLI참조하십시오. [란 무엇입니까 AWS SAM CLI?](what-is-sam-overview.md#what-is-sam-cli) 

`sam list stack-outputs` 하위 명령은 AWS Serverless Application Model (AWS SAM) 또는 CloudFormation 템플릿의 AWS CloudFormation 스택 출력을 표시합니다. `Outputs`에 관한 자세한 내용은 *AWS CloudFormation 사용자 가이드*의 [출력](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/outputs-section-structure.html)을 참조하세요.

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

```
$ sam list stack-outputs <options>
```

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

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

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

`--debug`  <a name="sam-cli-command-reference-sam-list-stack-outputs-options-debug"></a>
디버그 로깅을 켜면 AWS SAMCLI에서 생성한 디버그 메시지를 타임스탬프와 함께 인쇄할 수 있습니다.

`--help, -h`  <a name="sam-cli-command-reference-sam-list-stack-outputs-options-help"></a>
이 메시지를 표시한 후 종료합니다.

`--output [json|table]`  <a name="sam-cli-command-reference-sam-list-stack-outputs-options-output"></a>
결과 출력 형식을 지정합니다.  
*기본값:* `table`

`--profile TEXT`  <a name="sam-cli-command-reference-sam-list-stack-outputs-options-profile"></a>
자격 증명 파일에서 특정 프로필을 선택하여 AWS 자격 증명을 가져옵니다.

`--region TEXT`  <a name="sam-cli-command-reference-sam-list-stack-outputs-options-region"></a>
서비스의 AWS 리전을 설정합니다. 예를 들어 `us-east-1`입니다.

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

`--stack-name TEXT`  <a name="sam-cli-command-reference-sam-list-stack-outputs-options-"></a>
배포된 CloudFormation 스택의 이름입니다. 스택 이름은 애플리케이션의 `samconfig.toml` 파일 또는 지정된 구성 파일에서 찾을 수 있습니다.  
이 옵션은 필수입니다.

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

라는 CloudFormation 스택에 있는 리소스의 출력을 테이블 형식으로 표시합니다`test-stack`.

```
$ sam list stack-outputs --stack-name test-stack --output table
			
------------------------------------------------------------------------------------------------------------------------
OutputKey                                OutputValue                              Description
------------------------------------------------------------------------------------------------------------------------
HelloWorldFunctionIamRole                arn:aws:iam::account-number:role/sam-      Implicit IAM Role created for Hello
                                         app-test-list-HelloWorldFunctionRole-    World function
                                         SRJDMJ6F7F41
HelloWorldApi                            https://uj80uoe2o2.execute-api.us-       API Gateway endpoint URL for Prod
                                         east-1.amazonaws.com/Prod/hello/         stage for Hello World function
HelloWorldFunction                       arn:aws:lambda:us-                       Hello World Lambda Function ARN
                                         east-1:account-number:function:sam-app-
                                         test-list-
                                         HelloWorldFunction-H85Y7yIV7ZLq
------------------------------------------------------------------------------------------------------------------------
```

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

이 페이지에서는 AWS Serverless Application Model 명령줄 인터페이스(AWS SAM CLI) `sam local callback` 명령에 대한 참조 정보를 제공합니다.

에 대한 소개는 단원을 AWS SAM CLI참조하십시오. [란 무엇입니까 AWS SAM CLI?](what-is-sam-overview.md#what-is-sam-cli) 

`sam local callback` 명령을 사용하면 개발 및 테스트 중에 로컬 내구성 함수 실행으로 콜백을 보낼 수 있습니다.

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

```
$ sam local callback <subcommand> <options>
```

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

`--help, -h`  <a name="sam-cli-command-reference-sam-local-callback-options-help"></a>
이 메시지를 표시한 후 종료합니다.

## 하위 명령
<a name="sam-cli-command-reference-sam-local-callback-subcommands"></a>

`succeed`  <a name="sam-cli-command-reference-sam-local-callback-subcommands-succeed"></a>
내구성 있는 함수 실행으로 성공 콜백을 보냅니다. 자세한 내용은 [sam local callback succeed](sam-cli-command-reference-sam-local-callback-succeed.md) 단원을 참조하십시오.

`fail`  <a name="sam-cli-command-reference-sam-local-callback-subcommands-fail"></a>
내구성 있는 함수 실행으로 장애 콜백을 전송합니다. 자세한 내용은 [sam local callback fail](sam-cli-command-reference-sam-local-callback-fail.md) 단원을 참조하십시오.

`heartbeat`  <a name="sam-cli-command-reference-sam-local-callback-subcommands-heartbeat"></a>
하트비트 콜백을 내구성 있는 함수 실행으로 전송합니다. 자세한 내용은 [sam local callback heartbeat](sam-cli-command-reference-sam-local-callback-heartbeat.md) 단원을 참조하십시오.

# sam local callback succeed
<a name="sam-cli-command-reference-sam-local-callback-succeed"></a>

내구성 있는 함수 실행으로 성공 콜백을 보냅니다.

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

```
$ sam local callback succeed CALLBACK_ID [OPTIONS]
```

## 필수 인수
<a name="ref-sam-cli-local-callback-succeed-arguments"></a>

`CALLBACK_ID`  
성공 응답을 보낼 콜백의 고유 식별자입니다.

## 옵션
<a name="ref-sam-cli-local-callback-succeed-options"></a>

`-r, --result TEXT`  
성공 결과 페이로드를 문자열로 표시합니다.

`--region TEXT`  
서비스의 AWS 리전을 설정합니다(예: `us-east-1`).

`--profile TEXT`  
자격 증명 파일에서 특정 프로필을 선택하여 AWS 자격 증명을 가져옵니다.

`--config-env TEXT`  
구성 파일에서 기본 파라미터 값을 지정하는 환경 이름입니다. 기본값: `default`

`--config-file TEXT`  
기본 파라미터 값이 포함된 구성 파일입니다. 기본값: `samconfig.toml`

`--save-params`  
명령줄을 통해 제공된 파라미터를 구성 파일에 저장합니다.

`--beta-features / --no-beta-features`  
베타 기능을 활성화/비활성화합니다.

`--debug`  
디버그 로깅을 켜서 AWS SAM CLI에서 생성된 디버그 메시지를 인쇄하고 타임스탬프를 표시합니다.

`-h, --help`  
이 메시지를 표시한 후 종료합니다.

## 예제
<a name="ref-sam-cli-local-callback-succeed-examples"></a>

결과 없이 성공 콜백 전송:

```
$ sam local callback succeed my-callback-id
```

결과와 함께 성공 콜백 전송:

```
$ sam local callback succeed my-callback-id --result 'Task completed successfully'
```

짧은 옵션으로 성공 콜백 전송:

```
$ sam local callback succeed my-callback-id -r 'Success result'
```

# sam local callback fail
<a name="sam-cli-command-reference-sam-local-callback-fail"></a>

내구성 있는 함수 실행으로 장애 콜백을 전송합니다.

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

```
$ sam local callback fail CALLBACK_ID [OPTIONS]
```

## 필수 인수
<a name="ref-sam-cli-local-callback-fail-arguments"></a>

`CALLBACK_ID`  
실패 응답을 보낼 콜백의 고유 식별자입니다.

## 옵션
<a name="ref-sam-cli-local-callback-fail-options"></a>

`--error-data TEXT`  
추가 오류 데이터.

`--stack-trace TEXT`  
트레이스 항목을 스택합니다. 이 옵션은 여러 번 지정할 수 있습니다.

`--error-type TEXT`  
오류의 유형입니다.

`--error-message TEXT`  
자세한 오류 메시지입니다.

`--region TEXT`  
서비스의 AWS 리전을 설정합니다(예: `us-east-1`).

`--profile TEXT`  
자격 증명 파일에서 특정 프로필을 선택하여 AWS 자격 증명을 가져옵니다.

`--config-env TEXT`  
구성 파일에서 기본 파라미터 값을 지정하는 환경 이름입니다. 기본값: `default`

`--config-file TEXT`  
기본 파라미터 값이 포함된 구성 파일입니다. 기본값: `samconfig.toml`

`--save-params`  
명령줄을 통해 제공된 파라미터를 구성 파일에 저장합니다.

`--beta-features / --no-beta-features`  
베타 기능을 활성화/비활성화합니다.

`--debug`  
디버그 로깅을 켜서 AWS SAM CLI에서 생성된 디버그 메시지를 인쇄하고 타임스탬프를 표시합니다.

`-h, --help`  
이 메시지를 표시한 후 종료합니다.

## 예제
<a name="ref-sam-cli-local-callback-fail-examples"></a>

파라미터 없이 실패 콜백 전송:

```
$ sam local callback fail my-callback-id
```

오류 메시지와 함께 실패 콜백 전송:

```
$ sam local callback fail my-callback-id --error-message 'Task failed'
```

모든 파라미터와 함께 실패 콜백 전송:

```
$ sam local callback fail my-callback-id --error-message 'Task failed' --error-type 'ValidationError' --stack-trace 'at line 42' --error-data '{"code": 500}'
```

# sam local callback heartbeat
<a name="sam-cli-command-reference-sam-local-callback-heartbeat"></a>

하트비트 콜백을 내구성 있는 함수 실행으로 전송합니다.

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

```
$ sam local callback heartbeat CALLBACK_ID [OPTIONS]
```

## 필수 인수
<a name="ref-sam-cli-local-callback-heartbeat-arguments"></a>

`CALLBACK_ID`  
하트비트를 보낼 콜백의 고유 식별자입니다.

## 옵션
<a name="ref-sam-cli-local-callback-heartbeat-options"></a>

`--region TEXT`  
서비스의 AWS 리전을 설정합니다(예: `us-east-1`).

`--profile TEXT`  
자격 증명 파일에서 특정 프로필을 선택하여 AWS 자격 증명을 가져옵니다.

`--config-env TEXT`  
구성 파일에서 기본 파라미터 값을 지정하는 환경 이름입니다. 기본값: `default`

`--config-file TEXT`  
기본 파라미터 값이 포함된 구성 파일입니다. 기본값: `samconfig.toml`

`--save-params`  
명령줄을 통해 제공된 파라미터를 구성 파일에 저장합니다.

`--beta-features / --no-beta-features`  
베타 기능을 활성화/비활성화합니다.

`--debug`  
디버그 로깅을 켜서 AWS SAM CLI에서 생성된 디버그 메시지를 인쇄하고 타임스탬프를 표시합니다.

`-h, --help`  
이 메시지를 표시한 후 종료합니다.

## 예제
<a name="ref-sam-cli-local-callback-heartbeat-examples"></a>

하트비트 콜백 전송:

```
$ sam local callback heartbeat my-callback-id
```

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

이 페이지에서는 AWS Serverless Application Model 명령줄 인터페이스(AWS SAM CLI) `sam local execution` 명령에 대한 참조 정보를 제공합니다.

에 대한 소개는 단원을 AWS SAM CLI참조하십시오. [란 무엇입니까 AWS SAM CLI?](what-is-sam-overview.md#what-is-sam-cli) 

`sam local execution` 명령을 사용하면 개발 및 테스트 중에 로컬 내구성 함수 실행을 관리하고 검사할 수 있습니다.

**참고**  
이러한 명령은 AWS 자격 증명에 액세스할 필요가 없을 수 있습니다.

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

```
$ sam local execution <subcommand> <options>
```

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

`--help, -h`  <a name="sam-cli-command-reference-sam-local-execution-options-help"></a>
이 메시지를 표시한 후 종료합니다.

## 하위 명령
<a name="sam-cli-command-reference-sam-local-execution-subcommands"></a>

`get`  <a name="sam-cli-command-reference-sam-local-execution-subcommands-get"></a>
내구성 있는 함수 실행에 대한 세부 정보를 가져옵니다. 자세한 내용은 [sam local execution get](sam-cli-command-reference-sam-local-execution-get.md) 단원을 참조하십시오.

`history`  <a name="sam-cli-command-reference-sam-local-execution-subcommands-history"></a>
내구성 있는 함수 실행의 실행 기록을 가져옵니다. 자세한 내용은 [sam local execution history](sam-cli-command-reference-sam-local-execution-history.md) 단원을 참조하십시오.

`stop`  <a name="sam-cli-command-reference-sam-local-execution-subcommands-stop"></a>
내구성 있는 함수 실행을 중지합니다. 자세한 내용은 [sam local execution stop](sam-cli-command-reference-sam-local-execution-stop.md) 단원을 참조하십시오.

# sam local execution get
<a name="sam-cli-command-reference-sam-local-execution-get"></a>

특정 내구성 함수 실행의 세부 정보를 검색합니다.

**참고**  
이 명령은 AWS 자격 증명에 대한 액세스가 필요하지 않을 수 있습니다.

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

```
$ sam local execution get DURABLE_EXECUTION_ARN [OPTIONS]
```

## 필수 인수
<a name="ref-sam-cli-local-execution-get-arguments"></a>

`DURABLE_EXECUTION_ARN`  
세부 정보를 검색할 내구성 함수 실행의 Amazon 리소스 이름(ARN)입니다.

## 옵션
<a name="ref-sam-cli-local-execution-get-options"></a>

`--format [summary|json]`  
출력 형식. 기본값: `summary`

`--region TEXT`  
서비스의 AWS 리전을 설정합니다(예: `us-east-1`).

`--profile TEXT`  
자격 증명 파일에서 특정 프로필을 선택하여 AWS 자격 증명을 가져옵니다.

`--config-env TEXT`  
구성 파일에서 기본 파라미터 값을 지정하는 환경 이름입니다. 기본값: `default`

`--config-file TEXT`  
기본 파라미터 값이 포함된 구성 파일입니다. 기본값: `samconfig.toml`

`--save-params`  
명령줄을 통해 제공된 파라미터를 구성 파일에 저장합니다.

`--beta-features / --no-beta-features`  
베타 기능을 활성화/비활성화합니다.

`--debug`  
디버그 로깅을 켜서 AWS SAM CLI에서 생성된 디버그 메시지를 인쇄하고 타임스탬프를 표시합니다.

`-h, --help`  
이 메시지를 표시한 후 종료합니다.

## 예제
<a name="ref-sam-cli-local-execution-get-examples"></a>

기본 요약 형식으로 실행 세부 정보를 가져옵니다.

```
$ sam local execution get arn:aws:lambda:us-east-1:123456789012:function:MyFunction:$LATEST/durable-execution/my-execution-name/my-execution-id
```

JSON 형식으로 실행 세부 정보를 가져옵니다.

```
$ sam local execution get arn:aws:lambda:us-east-1:123456789012:function:MyFunction:$LATEST/durable-execution/my-execution-name/my-execution-id --format json
```

# sam local execution history
<a name="sam-cli-command-reference-sam-local-execution-history"></a>

내구성 있는 함수 실행의 실행 기록을 가져옵니다.

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

```
$ sam local execution history EXECUTION_ID [OPTIONS]
```

## 필수 인수
<a name="ref-sam-cli-local-execution-history-arguments"></a>

`EXECUTION_ID`  
기록을 검색할 내구성 있는 함수 실행의 고유 식별자입니다.

## 옵션
<a name="ref-sam-cli-local-execution-history-options"></a>

`--format [table|json]`  
출력 형식. 기본값: `table`

`--region TEXT`  
서비스의 AWS 리전을 설정합니다(예: `us-east-1`).

`--profile TEXT`  
자격 증명 파일에서 특정 프로필을 선택하여 AWS 자격 증명을 가져옵니다.

`--config-env TEXT`  
구성 파일에서 기본 파라미터 값을 지정하는 환경 이름입니다. 기본값: `default`

`--config-file TEXT`  
기본 파라미터 값이 포함된 구성 파일입니다. 기본값: `samconfig.toml`

`--save-params`  
명령줄을 통해 제공된 파라미터를 구성 파일에 저장합니다.

`--beta-features / --no-beta-features`  
베타 기능을 활성화/비활성화합니다.

`--debug`  
디버그 로깅을 켜서 AWS SAM CLI에서 생성된 디버그 메시지를 인쇄하고 타임스탬프를 표시합니다.

`-h, --help`  
이 메시지를 표시한 후 종료합니다.

## 예제
<a name="ref-sam-cli-local-execution-history-examples"></a>

테이블 형식으로 실행 기록을 가져옵니다.

```
$ sam local execution history my-execution-id
```

JSON 형식으로 실행 기록 가져오기:

```
$ sam local execution history my-execution-id --format json
```

# sam local execution stop
<a name="sam-cli-command-reference-sam-local-execution-stop"></a>

실행 중인 내구성 함수 실행을 중지합니다.

**참고**  
이 명령은 AWS 자격 증명에 대한 액세스가 필요하지 않을 수 있습니다.

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

```
$ sam local execution stop DURABLE_EXECUTION_ARN [OPTIONS]
```

## 필수 인수
<a name="ref-sam-cli-local-execution-stop-arguments"></a>

`DURABLE_EXECUTION_ARN`  
중지할 내구성 함수 실행의 Amazon 리소스 이름(ARN)입니다.

## 옵션
<a name="ref-sam-cli-local-execution-stop-options"></a>

`--error-message TEXT`  
중지된 실행과 연결할 오류 메시지입니다.

`--error-type TEXT`  
중지된 실행과 연결할 오류 유형입니다.

`--error-data TEXT`  
중지된 실행과 연결할 오류 데이터입니다.

`--stack-trace TEXT`  
트레이스 항목을 스택합니다. 이 옵션은 여러 번 지정할 수 있습니다.

`--region TEXT`  
서비스의 AWS 리전을 설정합니다(예: `us-east-1`).

`--profile TEXT`  
자격 증명 파일에서 특정 프로필을 선택하여 AWS 자격 증명을 가져옵니다.

`--config-env TEXT`  
구성 파일에서 기본 파라미터 값을 지정하는 환경 이름입니다. 기본값: `default`

`--config-file TEXT`  
기본 파라미터 값이 포함된 구성 파일입니다. 기본값: `samconfig.toml`

`--save-params`  
명령줄을 통해 제공된 파라미터를 구성 파일에 저장합니다.

`--beta-features / --no-beta-features`  
베타 기능을 활성화/비활성화합니다.

`--debug`  
디버그 로깅을 켜서 AWS SAM CLI에서 생성된 디버그 메시지를 인쇄하고 타임스탬프를 표시합니다.

`-h, --help`  
이 메시지를 표시한 후 종료합니다.

## 예제
<a name="ref-sam-cli-local-execution-stop-examples"></a>

오류 세부 정보 없이 실행 중지:

```
$ sam local execution stop arn:aws:lambda:us-east-1:123456789012:function:MyFunction:$LATEST/durable-execution/my-execution-name/my-execution-id
```

오류 메시지 및 유형으로 실행 중지:

```
$ sam local execution stop arn:aws:lambda:us-east-1:123456789012:function:MyFunction:$LATEST/durable-execution/my-execution-name/my-execution-id --error-message "Execution cancelled" --error-type "UserCancellation"
```

전체 오류 세부 정보 및 스택 추적으로 실행을 중지합니다.

```
$ sam local execution stop arn:aws:lambda:us-east-1:123456789012:function:MyFunction:$LATEST/durable-execution/my-execution-name/my-execution-id --error-message "Task failed" --error-type "TaskFailure" --error-data '{"reason":"timeout"}' --stack-trace "at function1()" --stack-trace "at function2()"
```

# sam local generate-event
<a name="sam-cli-command-reference-sam-local-generate-event"></a>

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

`sam local generate-event` 하위 명령은 지원되는 AWS 서비스을 위한 이벤트 페이로드 샘플을 생성합니다.

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

```
$ sam local generate-event <options> <service> <event> <event-options>
```

## 옵션
<a name="ref-sam-cli-local-generate-event-options"></a>

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

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

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

## 서비스
<a name="ref-sam-cli-local-generate-event-service"></a>

지원되는 서비스 목록을 보려면 다음을 실행합니다.

```
$ sam local generate-event
```

## Event
<a name="ref-sam-cli-local-generate-event-event"></a>

각 서비스에 대해 생성할 수 있는 지원되는 이벤트 목록을 보려면 다음을 실행하십시오.

```
$ sam local generate-event <service>
```

## 이벤트 옵션
<a name="ref-sam-cli-local-generate-event-event-options"></a>

수정할 수 있는 지원되는 이벤트 옵션 목록을 보려면 다음을 실행하십시오.

```
$ sam local generate-event <service> <event> --help
```

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

`sam local generate-event` 하위 명령 사용에 대한 예제는 [샘플 이벤트 생성](using-sam-cli-local-generate-event.md#using-sam-cli-local-generate-event-generate) 섹션을 참조하세요.

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

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

`sam local invoke` 하위 명령은 로컬에서 AWS Lambda 함수의 일회성 호출을 시작합니다.

**참고**  
신뢰할 수 없는 코드에는 SAM CLI의 로컬 호출 기능을 사용하지 않는 것이 좋습니다. 로컬 환경에서 완전히 격리하려면 Lambda 서비스에서 직접 코드를 실행합니다.

**참고**  
내구성이 뛰어난 함수의 경우는 자동 체크포인트 및 재생을 통해 상태 저장 실행을 `sam local invoke` 지원합니다. 컨테이너는 상태 지속성 및 재개를 처리하기 위해 내구성 함수 실행 중에 계속 실행됩니다.

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

```
$ sam local invoke <arguments> <options>
```

**참고**  
 AWS SAM 템플릿에 정의된 함수가 두 개 이상 있는 경우 호출하려는 함수 논리적 ID를 제공합니다.

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

**리소스 ID**  <a name="ref-sam-cli-local-invoke-args-resource-id"></a>
간접 호출을 위한 Lambda 함수의 ID입니다.  
이 인수는 선택 사항입니다. 애플리케이션에 단일 Lambda 함수가 포함된 경우 AWS SAM CLI는 이를 호출합니다. 애플리케이션에 여러 함수가 포함된 경우 간접 호출할 함수의 ID를 제공하십시오.  
*유효한 값*: 리소스의 논리적 ID 또는 리소스 ARN입니다.

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

`--add-host LIST`  <a name="ref-sam-cli-local-invoke-options-add-host"></a>
호스트 이름과 IP 주소 매핑을 Docker 컨테이너의 호스트 파일에 전달합니다. 이 파라미터는 여러 번 전달할 수 있습니다.  

**Example**  
예시: `--add-host example.com:127.0.0.1`

`--beta-features | --no-beta-features`  <a name="ref-sam-cli-local-invoke-options-beta-features"></a>
베타 기능을 허용 또는 거부합니다.

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

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

`--container-env-vars`  <a name="ref-sam-cli-local-invoke-options-container-env-vars"></a>
(선택 사항) 로컬에서 디버깅할 때 Lambda 함수 이미지 컨테이너에 환경 변수를 전달하십시오.

`--container-host TEXT`  <a name="ref-sam-cli-local-invoke-options-container-host"></a>
로컬로 에뮬레이션된 Lambda 컨테이너의 호스트입니다. 기본값은 `localhost`입니다. macOS의 Docker 컨테이너에서 AWS SAMCLI를 실행하려는 경우 `host.docker.internal`을 지정할 수 있습니다. 이외의 호스트에서 컨테이너를 실행하려면 원격 호스트의 IP 주소를 지정할 AWS SAM CLI수 있습니다.

`--container-host-interface TEXT`  <a name="ref-sam-cli-local-invoke-options-container-host-interface"></a>
컨테이너 포트가 바인딩해야 하는 호스트 네트워크 인터페이스의 IP 주소입니다. 기본값은 `127.0.0.1`입니다. 모든 인터페이스에 바인딩하는 데 `0.0.0.0`을 사용합니다.

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

`--debug-args TEXT`  <a name="ref-sam-cli-local-invoke-options-debug-args"></a>
디버거에 전달할 추가 인수입니다.

`--debug-port, -d TEXT`  <a name="ref-sam-cli-local-invoke-options-debug-port"></a>
지정되면 Lambda 함수 컨테이너를 디버그 모드에서 시작하고 이 포트를 로컬 호스트에 노출합니다.

`--debugger-path TEXT`  <a name="ref-sam-cli-local-invoke-options-debugger-path"></a>
Lambda 컨테이너에 마운트된 디버거의 호스트 경로입니다.

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

`--docker-volume-basedir, -v TEXT`  <a name="ref-sam-cli-local-invoke-options-docker-volume-basedir"></a>
 AWS SAM 파일이 있는 기본 디렉터리의 위치입니다. Docker가 원격 시스템에서 실행 중인 경우 Docker 시스템에 AWS SAM 파일이 있는 경로를 탑재하고 원격 시스템과 일치하도록이 값을 수정해야 합니다.

`--durable-execution-name TEXT`  <a name="ref-sam-cli-local-invoke-options-durable-execution-name"></a>
내구성 실행 이름(내구성 함수에만 해당)

`--env-vars, -n PATH`  <a name="ref-sam-cli-local-invoke-options-env-vars"></a>
Lambda 함수의 환경 변수에 대한 값을 포함하는 JSON 또는 `.env` 파일입니다. 파일 형식이 자동으로 감지됩니다. 환경 변수 파일에 대한 자세한 내용은 [환경 변수 파일](serverless-sam-cli-using-invoke.md#serverless-sam-cli-using-invoke-environment-file) 섹션을 참조하세요.

`--event, -e PATH`  <a name="ref-sam-cli-local-invoke-options-event"></a>
간접 호출 시 Lambda 함수로 전달되는 이벤트 데이터를 포함하는 JSON 파일입니다. 이 옵션을 지정하지 않으면 이벤트가 가정되지 않습니다. `stdin`에서 JSON을 입력하려면 '-' 값을 전달해야 합니다. 다양한 AWS 서비스의 이벤트 메시지 형식에 대한 자세한 내용은 *AWS Lambda 개발자 안내서*의 [다른 서비스 작업을](https://docs.aws.amazon.com/lambda/latest/dg/lambda-services.html) 참조하세요.

`--force-image-build`  <a name="ref-sam-cli-local-invoke-options-force-image-build"></a>
레이어가 있는 Lambda 함수를 간접 호출하는 데 사용된 이미지를 AWS SAMCLI가 다시 구축해야 하는지를 지정합니다.

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

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

`--invoke-image TEXT`  <a name="ref-sam-cli-local-invoke-options-invoke-image"></a>
로컬 함수 간접 호출에 사용하려는 컨테이너 이미지의 URI입니다. 기본적으로, AWS SAM 은 Amazon ECR 퍼블릭으로부터 컨테이너 이미지를 가져옵니다([의 이미지 리포지토리 AWS SAM](serverless-image-repositories.md)에 나열됨). 다른 위치에서 이미지를 가져오려면 이 옵션을 사용합니다.  
예를 들어 `sam local invoke MyFunction --invoke-image amazon/aws-sam-cli-emulation-image-python3.8`입니다.

`--layer-cache-basedir DIRECTORY`  <a name="ref-sam-cli-local-invoke-options-layer-cache-basedir"></a>
템플릿에서 사용하는 레이어가 다운로드되는 기본 디렉토리의 위치를 지정합니다.

`--log-file, -l TEXT`  <a name="ref-sam-cli-local-invoke-options-log-file"></a>
런타임 로그를 전송할 로그 파일입니다.

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

`--no-event`  <a name="ref-sam-cli-local-invoke-options-no-event"></a>
빈 이벤트와 함께 함수를 간접 호출합니다.

`--no-memory-limit`  <a name="ref-sam-cli-local-invoke-options-no-memory-limit"></a>
 AWS SAM 템플릿에 메모리가 구성된 경우에도 로컬 호출 중에 컨테이너의 메모리 제한을 제거합니다.

`--parameter-overrides`  <a name="ref-sam-cli-local-invoke-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`

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

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

`--runtime TEXT`  <a name="ref-sam-cli-local-invoke-options-runtime"></a>
지정된 런타임을 사용하여 Lambda 함수를 로컬에서 간접 호출합니다. 이는 `template.yml` 파일에 정의된 런타임을 재정의합니다. 또한 원래 함수 구성을 수정하지 않고 다른 런타임으로 Lambda 함수를 테스트할 수 있습니다.

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

`--shutdown`  <a name="ref-sam-cli-local-invoke-options-shutdown"></a>
종료 동작의 확장 처리를 테스트하기 위하여 간접 호출 완료 이후라도 종료 이벤트를 에뮬레이션합니다. 

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

`--skip-pull-image`  <a name="ref-sam-cli-local-invoke-options-skip-pull-image"></a>
기본 사항으로서, AWS SAMCLI 는 Lambda의 최신 원격 런타임 환경을 확인하고 로컬 이미지를 자동으로 업데이트하여 동기화를 유지합니다.  
Lambda 런타임 환경의 최신 Docker 이미지를 가져오지 않으려면 이 옵션을 지정하십시오.

`--template, -t PATH`  <a name="ref-sam-cli-local-invoke-options-template"></a>
 AWS SAM 템플릿 파일입니다.  
이 옵션은 `--hook-name`과 호환되지 않습니다.  
이 옵션을 지정하면는 템플릿과 템플릿이 가리키는 로컬 리소스만 AWS SAM 로드합니다.

`--tenant-id TEXT`  <a name="ref-sam-cli-local-invoke-options-tenancyconfig"></a>
다중 테넌트 Lambda 함수의 테넌트 ID입니다. 서로 다른 테넌트 간의 컴퓨팅 격리를 보장하는 데 사용됩니다. 테넌트 격리 모드로 구성된 함수를 호출할 때 필요합니다.

`--terraform-plan-file`  <a name="ref-sam-cli-local-invoke-options-terraform-plan-file"></a>
Terraform AWS SAM를 CLI와 사용할 때 로컬 Terraform Cloud 계획 파일의 상대적 또는 절대적 경로입니다. 이 옵션을 사용하려면 `--hook-name`을 `terraform`로 설정해야 합니다.

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

다음 예제에서는 `s3.json` 이벤트를 통해 로컬에서 Lambda 함수를 간접 호출하여 로컬 테스트를 위해 생성된 이벤트를 사용합니다.

```
$ sam local invoke --event events/s3.json S3JsonLoggerFunction
```

다음 예시는 Python 3.11 런타임을 사용하여 ` HelloWorldFunction` 함수를 테스트합니다.

```
$ sam local invoke --runtime python3.11 HelloWorldFunction
```

다음 예제에서는 내구성 ` HelloWorldFunction` 있는 실행 이름으로 함수를 테스트합니다.

```
$ sam local invoke HelloWorldFunction --durable-execution-name my-execution
```

# sam local start-api
<a name="sam-cli-command-reference-sam-local-start-api"></a>

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

`sam local start-api` 하위 명령은 AWS Lambda 함수를 로컬에서 실행하여 로컬 HTTP 서버 호스트를 통해 테스트합니다.

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

```
$ sam local start-api <options>
```

## 옵션
<a name="ref-sam-cli-local-start-api-options"></a>

`--add-host LIST`  <a name="ref-sam-cli-local-start-api-options-add-host"></a>
호스트 이름과 IP 주소 매핑을 Docker 컨테이너의 호스트 파일에 전달합니다. 이 파라미터는 여러 번 전달할 수 있습니다.  

**Example**  
예시: `--add-host example.com:127.0.0.1`

`--beta-features | --no-beta-features`  <a name="ref-sam-cli-local-start-api-options-beta-features"></a>
베타 기능을 허용 또는 거부합니다.

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

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

`--container-env-vars`  <a name="ref-sam-cli-local-start-api-options-container-env-vars"></a>
선택 사항입니다. 로컬 디버깅 시 이미지 컨테이너에 환경 변수를 전달합니다.

`--container-host TEXT`  <a name="ref-sam-cli-local-start-api-options-container-host"></a>
로컬로 에뮬레이션된 Lambda 컨테이너의 호스트입니다. 기본값은 `localhost`입니다. macOS의 Docker 컨테이너에서 AWS SAMCLI를 실행하려는 경우 `host.docker.internal`을 지정할 수 있습니다. 이외의 호스트에서 컨테이너를 실행하려면 원격 호스트의 IP 주소를 지정할 AWS SAM CLI수 있습니다.

`--container-host-interface TEXT`  <a name="ref-sam-cli-local-start-api-options-container-host-interface"></a>
컨테이너 포트가 바인딩해야 하는 호스트 네트워크 인터페이스의 IP 주소입니다. 기본값은 `127.0.0.1`입니다. 모든 인터페이스에 바인딩하는 데 `0.0.0.0`을 사용합니다.

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

`--debug-args TEXT`  <a name="ref-sam-cli-local-start-api-options-debug-args"></a>
디버거에 전달할 추가 인수입니다.

`--debug-function`  <a name="ref-sam-cli-local-start-api-options-debug-function"></a>
선택 사항입니다. `--warm-containers`이 지정된 시점에 디버그 옵션을 적용할 Lambda 함수를 지정합니다. 이 매개변수는`--debug-port`, `--debugger-path` 및 `--debug-args`에 적용됩니다.

`--debug-port, -d TEXT`  <a name="ref-sam-cli-local-start-api-options-debug-port"></a>
지정되면 Lambda 함수 컨테이너를 디버그 모드에서 시작하고 이 포트를 로컬 호스트에 노출합니다.

`--debugger-path TEXT`  <a name="ref-sam-cli-local-start-api-options-debugger-path"></a>
Lambda 컨테이너에 마운트할 디버거의 호스트 경로입니다.

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

` --docker-volume-basedir, -v TEXT`  <a name="ref-sam-cli-local-start-api-options-docker-volume-basedir"></a>
 AWS SAM 파일이 있는 기본 디렉터리의 위치입니다. Docker가 원격 시스템에서 실행 중인 경우 Docker 시스템에 AWS SAM 파일이 있는 경로를 탑재하고 원격 시스템과 일치하도록이 값을 수정해야 합니다.

`--env-vars, -n PATH`  <a name="ref-sam-cli-local-start-api-options-env-vars"></a>
Lambda 함수의 환경 변수에 대한 값을 포함하는 JSON 또는 `.env` 파일입니다. 파일 형식이 자동으로 감지됩니다.

`--force-image-build`  <a name="ref-sam-cli-local-start-api-options-force-image-build"></a>
계층을 사용하여 함수를 호출하는 데 사용되는 이미지를에서 다시 빌드할지 여부를 AWS SAM CLI 지정합니다.

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

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

`--host TEXT`  <a name="ref-sam-cli-local-start-api-options-host"></a>
바인딩할 로컬 호스트 이름 또는 IP 주소(기본값: ‘127.0.0.1’)입니다.

`--invoke-image TEXT`  <a name="ref-sam-cli-local-start-api-options-invoke-image"></a>
Lambda 함수에 사용하려는 컨테이너 이미지의 URI입니다. 기본적으로는 Amazon ECR Public에서 컨테이너 이미지를 AWS SAM 가져옵니다. 다른 위치에서 이미지를 가져오려면 이 옵션을 사용합니다.  
이 옵션은 여러 번 지정할 수 있습니다. 이 옵션의 각 인스턴스는 문자열 또는 키-값 쌍을 사용할 수 있습니다. 문자열을 지정하는 경우 이는 애플리케이션의 모든 함수에 사용할 컨테이너 이미지의 URI입니다. 예를 들어 `sam local start-api --invoke-image public.ecr.aws/sam/emu-python3.8`입니다. 키-값 쌍을 지정하는 경우 키는 리소스 이름이고 값은 해당 리소스에 사용할 컨테이너 이미지의 URI입니다. 예: `sam local start-api --invoke-image public.ecr.aws/sam/emu-python3.8 --invoke-image Function1=amazon/aws-sam-cli-emulation-image-python3.8 `. 키-값 쌍을 사용하면 리소스마다 다른 컨테이너 이미지를 지정할 수 있습니다.

`--layer-cache-basedir DIRECTORY`  <a name="ref-sam-cli-local-start-api-options-layer-cache-basedir"></a>
템플릿에서 사용하는 레이어가 다운로드되는 위치를 기준으로 지정합니다.

`--log-file, -l TEXT`  <a name="ref-sam-cli-local-start-api-options-log-file"></a>
런타임 로그를 전송할 로그 파일입니다.

`--no-memory-limit`  <a name="ref-sam-cli-local-start-api-options-no-memory-limit"></a>
 AWS SAM 템플릿에 메모리가 구성된 경우에도 로컬 호출 중에 컨테이너의 메모리 제한을 제거합니다.

`--parameter-overrides`  <a name="ref-sam-cli-local-start-api-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`

`--port, -p INTEGER`  <a name="ref-sam-cli-local-start-api-options-port"></a>
수신할 로컬 포트 번호(기본값: ‘3000’)입니다.

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

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

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

`--shutdown`  <a name="ref-sam-cli-local-start-api-options-shutdown"></a>
종료 동작의 확장 처리를 테스트하기 위하여 간접 호출 완료 이후라도 종료 이벤트를 에뮬레이션합니다. 

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

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

`--ssl-cert-file PATH`  <a name="ref-sam-cli-local-start-api-options-ssl-cert-file"></a>
SSL 인증서 파일 경로입니다(기본값: 없음). 이 옵션을 사용할 경우 `--ssl-key-file` 옵션도 사용해야 합니다.

`--ssl-key-file PATH`  <a name="ref-sam-cli-local-start-api-options-static-dir"></a>
SSL 키 파일 경로입니다(기본값: 없음). 이 옵션을 사용할 경우 `--ssl-cert-file` 옵션도 사용해야 합니다.

`--static-dir, -s TEXT`  <a name="ref-sam-cli-local-start-api-options-static-dir"></a>
이 디렉터리에 있는 모든 정적 자산 (예: CSS/자바스크립트/HTML) 파일은 `/`에 표시됩니다.

`--template, -t PATH`  <a name="ref-sam-cli-local-start-api-options-template"></a>
 AWS SAM 템플릿 파일입니다.  
이 옵션을 지정하면는 템플릿과 템플릿이 가리키는 로컬 리소스만 AWS SAM 로드합니다.

`--terraform-plan-file`  <a name="ref-sam-cli-local-start-api-options-terraform-plan-file"></a>
Terraform AWS SAM를 CLI와 사용할 때 로컬 Terraform Cloud 계획 파일의 상대적 또는 절대적 경로입니다. 이 옵션을 사용하려면 `--hook-name`을 `terraform`로 설정해야 합니다.

`--warm-containers [EAGER | LAZY]`  <a name="ref-sam-cli-local-start-api-options-warm-containers"></a>
선택 사항입니다. AWS SAMCLI가 각 함수의 컨테이너를 관리하는 방법을 지정합니다.  
사용 가능한 옵션은 다음 두 가지입니다.  
   `EAGER`: 모든 함수의 컨테이너는 시작 시 로드되며 호출과 호출 사이에도 유지됩니다.  
   `LAZY`: 컨테이너는 각 함수를 처음 간접 호출할 때만 로드됩니다. 이러한 컨테이너들은 추가 호출 시에도 계속 유지됩니다.

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

다음 예제에서는 API를 통해 애플리케이션을 테스트할 수 있도록 로컬 서버를 시작합니다. 이 명령이 작동하려면 애플리케이션이 설치되어 있고 Docker가 실행되고 있어야 합니다.

```
$ sam local start-api --port 3000
```

# sam local start-lambda
<a name="sam-cli-command-reference-sam-local-start-lambda"></a>

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

`sam local start-lambda` 하위 명령은 에뮬레이션할 로컬 엔드포인트를 시작합니다 AWS Lambda.

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

```
$ sam local start-lambda <options>
```

## 옵션
<a name="ref-sam-cli-local-start-lambda-options"></a>

`--add-host LIST`  <a name="ref-sam-cli-local-start-lambda-options-add-host"></a>
호스트 이름과 IP 주소 매핑을 Docker 컨테이너의 호스트 파일에 전달합니다. 이 파라미터는 여러 번 전달할 수 있습니다.  

**Example**  
예시: `--add-host example.com:127.0.0.1`

`--beta-features | --no-beta-features`  <a name="ref-sam-cli-local-start-lambda-options-beta-features"></a>
베타 기능을 허용 또는 거부합니다.

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

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

`--container-env-vars`  <a name="ref-sam-cli-local-start-lambda-options-container-env-vars"></a>
선택 사항입니다. 로컬 디버깅 시 이미지 컨테이너에 환경 변수를 전달합니다.

`--container-host TEXT`  <a name="ref-sam-cli-local-start-lambda-options-container-host"></a>
로컬로 에뮬레이션된 Lambda 컨테이너의 호스트입니다. 기본값은 `localhost`입니다. macOS의 Docker 컨테이너에서 AWS SAMCLI를 실행하려는 경우 `host.docker.internal`을 지정할 수 있습니다. 이외의 호스트에서 컨테이너를 실행하려면 원격 호스트의 IP 주소를 지정할 AWS SAM CLI수 있습니다.

`--container-host-interface TEXT`  <a name="ref-sam-cli-local-start-lambda-options-container-host-interface"></a>
컨테이너 포트가 바인딩해야 하는 호스트 네트워크 인터페이스의 IP 주소입니다. 기본값은 `127.0.0.1`입니다. 모든 인터페이스에 바인딩하는 데 `0.0.0.0`을 사용합니다.

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

`--debug-args TEXT`  <a name="ref-sam-cli-local-start-lambda-options-debug-args"></a>
디버거에 전달할 추가 인수입니다.

`--debug-function`  <a name="ref-sam-cli-local-start-lambda-options-debug-function"></a>
선택 사항입니다. `--warm-containers`이 지정된 시점에 디버그 옵션을 적용할 Lambda 함수를 지정합니다. 이 매개변수는`--debug-port`, `--debugger-path` 및 `--debug-args`에 적용됩니다.

`--debug-port, -d TEXT`  <a name="ref-sam-cli-local-start-lambda-options-debug-port"></a>
지정되면 Lambda 함수 컨테이너를 디버그 모드에서 시작하고 이 포트를 로컬 호스트에 노출합니다.

`--debugger-path TEXT`  <a name="ref-sam-cli-local-start-lambda-options-debugger-path"></a>
Lambda 컨테이너에 마운트된 디버거의 호스트 경로입니다.

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

`--docker-volume-basedir, -v TEXT`  <a name="ref-sam-cli-local-start-lambda-options-docker-volume-basedir"></a>
 AWS SAM 파일이 있는 기본 디렉터리의 위치입니다. Docker가 원격 시스템에서 실행 중인 경우 Docker 시스템에 AWS SAM 파일이 있는 경로를 탑재하고 원격 시스템과 일치하도록이 값을 수정해야 합니다.

`--env-vars, -n PATH`  <a name="ref-sam-cli-local-start-lambda-options-env-vars"></a>
Lambda 함수의 환경 변수에 대한 값을 포함하는 JSON 또는 `.env` 파일입니다. 파일 형식이 자동으로 감지됩니다.

`--force-image-build`  <a name="ref-sam-cli-local-start-lambda-options-force-image-build"></a>
CLI이 레이어를 사용하여 함수를 호출하는 데 사용된 이미지를 다시 구축해야 하는지를 지정합니다.

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

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

`--host TEXT`  <a name="ref-sam-cli-local-start-lambda-options-host"></a>
바인딩할 로컬 호스트 이름 또는 IP 주소(기본값: ‘127.0.0.1’)입니다.

`--invoke-image TEXT`  <a name="ref-sam-cli-local-start-lambda-options-invoke-image"></a>
로컬 함수 간접 호출에 사용하려는 컨테이너 이미지의 URI입니다. 기본적으로는 Amazon ECR Public에서 컨테이너 이미지를 AWS SAM 가져옵니다. 다른 위치에서 이미지를 가져오려면 이 옵션을 사용합니다.  
예를 들어 `sam local start-lambda MyFunction --invoke-image amazon/aws-sam-cli-emulation-image-python3.8`입니다.

`--layer-cache-basedir DIRECTORY`  <a name="ref-sam-cli-local-start-lambda-options-layer-cache-basedir"></a>
템플릿에서 사용하는 레이어가 다운로드되는 위치를 기준으로 지정합니다.

`--log-file, -l TEXT`  <a name="ref-sam-cli-local-start-lambda-options-log-file"></a>
런타임 로그를 전송할 로그 파일입니다.

`--no-memory-limit`  <a name="ref-sam-cli-local-start-lambda-options-no-memory-limit"></a>
 AWS SAM 템플릿에 메모리가 구성된 경우에도 로컬 호출 중에 컨테이너의 메모리 제한을 제거합니다.

`--parameter-overrides`  <a name="ref-sam-cli-local-start-lambda-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`

`--port, -p INTEGER`  <a name="ref-sam-cli-local-start-lambda-options-port"></a>
수신할 로컬 포트 번호(기본값: ‘3001’)입니다.

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

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

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

`--shutdown`  <a name="ref-sam-cli-local-start-lambda-options-shutdown"></a>
종료 동작의 확장 처리를 테스트하기 위하여 간접 호출 완료 이후라도 종료 이벤트를 에뮬레이션합니다. 

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

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

`--template, -t PATH`  <a name="ref-sam-cli-local-start-lambda-options-template"></a>
 AWS SAM 템플릿 파일입니다.  
이 옵션을 지정하면는 템플릿과 템플릿이 가리키는 로컬 리소스만 AWS SAM 로드합니다. 이 옵션은 `--hook-name`과 호환되지 않습니다.

`--terraform-plan-file`  <a name="ref-sam-cli-local-start-lambda-options-terraform-plan-file"></a>
Terraform AWS SAM를 CLI와 사용할 때 로컬 Terraform Cloud 계획 파일의 상대적 또는 절대적 경로입니다. 이 옵션을 사용하려면 `--hook-name`을 `terraform`로 설정해야 합니다.

`--warm-containers [EAGER | LAZY]`  <a name="ref-sam-cli-local-start-lambda-options-warm-containers"></a>
선택 사항입니다. AWS SAMCLI가 각 함수의 컨테이너를 관리하는 방법을 지정합니다.  
사용 가능한 옵션은 다음 두 가지입니다.  
+ `EAGER`: 모든 함수의 컨테이너는 시작 시 로드되며 호출과 호출 사이에도 유지됩니다.
+ `LAZY`: 컨테이너는 각 함수를 처음 간접 호출할 때만 로드됩니다. 이러한 컨테이너들은 추가 호출 시에도 계속 유지됩니다.

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

`sam local start-lambda` 하위 명령 사용에 대한 자세한 예제와 심층적인 단계별 설명은 [sam local start-lambda를 사용한 테스트 소개](using-sam-cli-local-start-lambda.md) 섹션을 참조하세요.

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

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

에 대한 소개는 단원을 AWS SAM CLI참조하십시오. [란 무엇입니까 AWS SAM CLI?](what-is-sam-overview.md#what-is-sam-cli) 

`sam logs` 명령은 AWS Lambda 함수에서 생성된 로그를 가져옵니다.

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

```
$ sam logs <options>
```

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

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

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

`--cw-log-group LIST`  <a name="sam-cli-command-reference-sam-logs-options-cw-log-group"></a>
지정한 CloudWatch Logs 로그 그룹의 로그를 포함합니다. 와 함께이 옵션을 지정하는 경우 `name`에는 지정된 로그 그룹의 로그와 명명된 리소스의 로그가 AWS SAM 포함됩니다.

`--debug`  <a name="sam-cli-command-reference-sam-logs-options-debug"></a>
디버그 로깅을 켜서 AWS SAMCLI 에 의해 생성된 디버그 메시지를 인쇄하고 타임스탬프를 표시합니다.

`---end-time, e TEXT`  <a name="sam-cli-command-reference-sam-logs-options-end-time"></a>
이 시간까지의 로그를 가져옵니다. 시간은 ‘5분 전’, ‘내일’과 같은 상댓값이거나 ‘2018-01-01 10:10:10’과 같은 형식이 지정된 타임스탬프일 수 있습니다.

`--filter TEXT`  <a name="sam-cli-command-reference-sam-logs-options-filter"></a>
표현식을 지정하여 로그 이벤트에서 단어, 구문 또는 값과 일치하는 로그를 빠르게 찾을 수 있습니다. 이는 간단한 키워드 (예: “error”) 이거나 Amazon CloudWatch Logs에서 지원하는 패턴일 수 있습니다. 명령문에 대한 내용은 [Amazon CloudWatch Logs 설명서](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/FilterAndPatternSyntax.html)를 참조하세요.

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

`--include-traces`  <a name="sam-cli-command-reference-sam-logs-options-include-traces"></a>
로그 출력에 X-Ray 트레이스를 포함합니다.

`--name, -n TEXT`  <a name="sam-cli-command-reference-sam-logs-options-name"></a>
로그를 가져올 리소스의 이름입니다. 이 리소스가 CloudFormation 스택의 일부인 경우 이는 CloudFormation/AWS SAM 템플릿에 있는 함수 리소스의 논리적 ID일 수 있습니다. 인자를 반복함으로써 여러 이름을 제공할 수 있습니다. 리소스가 중첩된 스택에 있는 경우 이름 앞에 중첩된 스택 이름을 추가하여 해당 리소스에서 로그를 가져올 수 있습니다 (NestedStackLogicalID/ResourceLogicalID). 리소스 이름을 지정하지 않으면 지정된 스택을 스캔하고 지원되는 모든 리소스에 대한 로그 정보를 가져옵니다. 이 옵션을 지정하지 않으면는 지정한 스택의 모든 리소스에 대한 로그를 AWS SAM 가져옵니다. 다음과 같은 리소스 유형이 지원됩니다.  
+ `AWS::Serverless::Function`
+ `AWS::Lambda::Function`
+ `AWS::Serverless::Api`
+ `AWS::ApiGateway::RestApi`
+ `AWS::Serverless::HttpApi`
+ `AWS::ApiGatewayV2::Api`
+ `AWS::Serverless::StateMachine`
+ `AWS::StepFunctions::StateMachine`

`--output TEXT`  <a name="sam-cli-command-reference-sam-logs-options-output"></a>
로그에 대한 출력 형식을 지정합니다. 형식이 지정된 로그를 인쇄하려면 `text`을 지정합니다. 로그를 JSON으로 인쇄하려면 `json`을 지정합니다.

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

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

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

`--stack-name TEXT`  <a name="sam-cli-command-reference-sam-logs-options-stack-name"></a>
리소스가 속한 CloudFormation 스택의 이름입니다.

`--start-time, -s TEXT`  <a name="sam-cli-command-reference-sam-logs-options-start-time"></a>
이 시점부터 로그를 가져옵니다. 시간은 ‘5분 전’, ‘어제’와 같은 상댓값이거나 ‘2018-01-01 10:10:10’과 같은 형식이 지정된 타임스탬프일 수 있습니다. 기본값은 ‘10분 전’입니다.

` --tail, -t`  <a name="sam-cli-command-reference-sam-logs-options-tail"></a>
로그 출력을 추적합니다. 이렇게 하면 종료 시간 인수를 무시하고 로그가 제공되는 대로 계속 가져옵니다.

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

함수가 CloudFormation 스택의 일부인 경우 스택 이름을 지정할 때 함수의 논리적 ID를 사용하여 로그를 가져올 수 있습니다.

```
$ sam logs -n HelloWorldFunction --stack-name myStack
```

-s(--start-time) 및 -e(--endtime) 옵션을 사용하여 특정 시간 범위의 로그를 볼 수 있습니다.

```
$ sam logs -n HelloWorldFunction --stack-name myStack -s '10min ago' -e '2min ago'
```

새 로그가 도착할 때까지 기다렸다가 로그가 도착하는 대로 확인하는 `--tail` 옵션을 추가할 수도 있습니다.

```
$ sam logs -n HelloWorldFunction --stack-name myStack --tail
```

`--filter` 옵션을 사용하면 로그 이벤트의 용어, 구문 또는 값과 일치하는 로그를 빠르게 찾을 수 있습니다.

```
$ sam logs -n HelloWorldFunction --stack-name myStack --filter "error"
```

하위 스택에 있는 리소스의 로그를 볼 수 있습니다.

```
$ sam logs --stack-name myStack -n childStack/HelloWorldFunction
```

귀하의 애플리케이션에서 지원되는 모든 리소스의 테일 로그입니다.

```
$ sam logs --stack-name sam-app --tail
```

애플리케이션의 특정 Lambda 함수 및 API 게이트웨이 API에 대한 로그를 가져옵니다.

```
$ sam logs --stack-name sam-app --name HelloWorldFunction --name HelloWorldRestApi
```

애플리케이션에서 지원되는 모든 리소스에 대한 로그를 가져오고, 추가로 지정된 로그 그룹에서도 로그를 가져옵니다.

```
$ sam logs --cw-log-group /aws/lambda/myfunction-123 --cw-log-group /aws/lambda/myfunction-456
```

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

 AWS Serverless Application Model 명령줄 인터페이스(AWS SAM CLI)는 AWS SAM 애플리케이션을 패키징합니다.

이 명령은 코드 및 종속성의 `.zip` 파일을 생성하고 Amazon Simple Storage Service(Amazon S3)에 파일을 업로드합니다.는 Amazon S3에 저장된 모든 파일에 대해 암호화를 AWS SAM 활성화합니다. 그런 다음 AWS SAM 템플릿 사본을 반환하여 로컬 아티팩트에 대한 참조를 명령이 아티팩트를 업로드한 Amazon S3 위치로 바꿉니다.

이 명령을 사용할 때 기본적으로 AWS SAMCLI는 현재 작업 디렉터리를 프로젝트의 루트 디렉터리라고 가정합니다. 첫 번째는 AWS SAM CLI [sam build](sam-cli-command-reference-sam-build.md) 명령을 사용하여 빌드되고 `.aws-sam` 하위 폴더에 있으며 이름이 인 템플릿 파일을 찾으려고 합니다`template.yaml`. 그런 다음 AWS SAMCLI 는 현재 작업 디렉터리에서 `template.yaml` 혹은 `template.yml`라는 이름의 템플릿 파일을 찾으려고 합니다. `--template` 옵션을 지정하면 AWS SAM CLI의 기본 동작이 재정의되고는 해당 AWS SAM 템플릿과 해당 템플릿이 가리키는 로컬 리소스만 패키징합니다.

**참고**  
이제 [sam deploy](sam-cli-command-reference-sam-deploy.md)이 `sam package` 기능을 묵시적으로 수행합니다. [sam deploy](sam-cli-command-reference-sam-deploy.md) 명령을 사용하여 애플리케이션을 패키징하고 배포할 수 있습니다.

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

```
$ sam package <arguments> <options>
```

## 인수
<a name="sam-cli-command-reference-sam-package-args"></a>

**리소스 ID**  <a name="sam-cli-command-reference-sam-package-args-resource-id"></a>
패키징할 Lambda 함수의 ID입니다.  
이 인수는 선택 사항입니다. 애플리케이션에 단일 Lambda 함수가 포함된 경우 AWS SAM CLI는 이를 패키징합니다. 애플리케이션에 여러 함수가 포함된 경우 함수 ID를 제공하여 단일 함수를 패키징하십시오.  
*유효한 값*: 리소스의 논리적 ID 또는 리소스 ARN입니다.

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

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

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

`--debug`  <a name="sam-cli-command-reference-sam-package-options-debug"></a>
디버그 로깅을 켜서 AWS SAMCLI 에 의해 생성된 디버그 메시지를 인쇄하고 타임스탬프를 표시합니다.

`--force-upload`  <a name="sam-cli-command-reference-sam-package-options-force-upload"></a>
Amazon S3 버킷의 기존 파일을 재정의합니다. Amazon S3 버킷의 기존 아티팩트와 일치하더라도 아티팩트를 업로드하려면 이 플래그를 지정하십시오.

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

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

`--kms-key-id TEXT`  <a name="sam-cli-command-reference-sam-package-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-package-options-metadata"></a>
(선택 사항) 템플릿에서 참조되는 모든 아티팩트에 첨부할 메타데이터 맵입니다.

`--no-progressbar`  <a name="sam-cli-command-reference-sam-package-options-no-progressbar"></a>
Amazon S3에 아티팩트를 업로드할 때 진행률 표시줄을 표시하지 마십시오.

`--output-template-file PATH`  <a name="sam-cli-command-reference-sam-package-options-output-template-file"></a>
명령이 패키지 템플릿을 작성하는 파일의 경로입니다. 경로를 지정하지 않으면 이 명령은 템플릿을 표준 출력에 기록합니다.

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

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

`--resolve-s3`  <a name="sam-cli-command-reference-sam-package-options-resolve-s3"></a>
패키징에 사용할 Amazon S3 버킷을 자동으로 생성합니다. `--s3-bucket` 및 `--resolve-s3` 옵션을 모두 지정하면 오류가 발생합니다.

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

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

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

`--signing-profiles LIST`  <a name="sam-cli-command-reference-sam-package-options-signing-profiles"></a>
(선택 사항) 배포 패키지에 서명하는 데 사용할 서명 프로필 목록입니다. 이 매개변수는 키-값 쌍의 목록을 사용합니다. 여기서 키는 서명할 함수 또는 레이어의 이름이고 값은 서명 프로필이며 선택적 프로필 소유자는 `:`로 한정됩니다. 예를 들어 `FunctionNameToSign=SigningProfileName1 LayerNameToSign=SigningProfileName2:SigningProfileOwner`입니다.

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

`--use-json`  <a name="sam-cli-command-reference-sam-package-options-use-json"></a>
 CloudFormation 템플릿의 출력 JSON입니다. 기본 사항으로 YAML이 사용됩니다.

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

다음 예제에서는 Lambda 함수 및 CodeDeploy 애플리케이션을 위한 아티팩트를 생성하고 패키징합니다. 아티팩트는 Amazon S3 버킷에 업로드됩니다. 명령의 출력은 `package.yml`이라는 새 파일입니다.

```
$ sam package \
  --template-file template.yml \
  --output-template-file package.yml \
  --s3-bucket amzn-s3-demo-bucket
```

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

이 페이지에서는 AWS Serverless Application Model 명령줄 인터페이스(AWS SAM CLI) `sam local pipeline bootstrap` 하위 명령에 대한 참조 정보를 제공합니다.

에 대한 소개는 단원을 AWS SAM CLI참조하십시오. [란 무엇입니까 AWS SAM CLI?](what-is-sam-overview.md#what-is-sam-cli) 

`sam pipeline bootstrap` 하위 명령은 CI/CD 시스템에 연결하는 데 필요한 AWS 인프라 리소스를 생성합니다. **sam pipeline init** 명령을 실행하기 전에 파이프라인에서의 각 배포 단계에 대해 이 조치를 실행해야 합니다. 

이 하위 명령은 다음과 같은 AWS 인프라 리소스를 설정합니다.
+ 다음을 통해 파이프라인 권한을 구성하는 옵션:
  + CI/CD 시스템과 공유할 액세스 키 ID 및 액세스 키 보안 인증 정보를 가진 파이프라인 IAM 사용자입니다.
**참고**  
정기적으로 액세스 키를 교체하는 것이 좋습니다. 자세한 내용은 [IAM 사용자 가이드](https://docs.aws.amazon.com/IAM/latest/UserGuide/best-practices.html#rotate-credentials)의 * 장기 보안 인증 정보가 필요한 사용 사례의 경우 정기적으로 액세스 키 교체*를 참조하세요.
  + OIDC를 통해 CI/CD 플랫폼을 지원합니다. AWS SAM 파이프라인이 있는 OIDC 사용법에 대한 소개는 [AWS SAM 파이프라인에서 OIDC 인증을 사용하는 방법](deploying-with-oidc.md) 섹션을 참조하세요.
+  AWS SAM 애플리케이션을 배포 CloudFormation 하기 위해에서 수임하는 CloudFormation 실행 IAM 역할입니다.
+ 아 AWS SAM 티팩트를 보관할 Amazon S3 버킷입니다.
+ 선택적으로 컨테이너 이미지 Lambda 배포 패키지를 보관할 Amazon ECR 이미지 리포지토리(`Image` 패키지 유형의 리소스가 있는 경우)입니다. 

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

```
$ sam pipeline bootstrap <options>
```

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

`--bitbucket-repo-uuid TEXT`  <a name="sam-cli-command-reference-sam-pipeline-bootstrap-options-bitbucket-repo-uuid"></a>
 Bitbucket 리포지토리의 UUID입니다. 이 옵션은 Bitbucket OIDC를 권한에 따라 사용하는 경우에만 해당합니다.  
이 값은 https://bitbucket.org/*workspace*/*repository*/admin/addon/admin/pipelines/openid-connect에서 찾을 수 있습니다 

`--bucket TEXT`  <a name="sam-cli-command-reference-sam-pipeline-bootstrap-options-bucket"></a>
아 AWS SAM 티팩트를 보관하는 Amazon S3 버킷의 ARN입니다.

`--cicd-provider TEXT`  <a name="sam-cli-command-reference-sam-pipeline-bootstrap-options-cicd-provider"></a>
 AWS SAM 파이프라인의 CI/CD 플랫폼입니다.

`--cloudformation-execution-role TEXT`  <a name="sam-cli-command-reference-sam-pipeline-bootstrap-options-cloudformation-execution-role"></a>
애플리케이션 스택을 배포하는 CloudFormation 동안가 수임할 IAM 역할의 ARN입니다. 자신의 역할을 사용하는 경우에만 입력합니다. 그렇지 않으면 명령으로 새 역할이 생성됩니다.

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

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

`--confirm-changeset | --no-confirm-changeset`  <a name="sam-cli-command-reference-sam-pipeline-bootstrap-options-confirm-changeset"></a>
리소스 배포를 확인하라는 메시지를 표시합니다.

`--create-image-repository | --no-create-image-repository`  <a name="sam-cli-command-reference-sam-pipeline-bootstrap-options-create-image-repository"></a>
Amazon ECR 이미지 리포지토리가 제공되지 않은 경우 이를 생성할지 여부를 지정하십시오. Amazon ECR 리포지토리는 Lambda 함수 또는 패키지 유형이 `Image`인 레이어의 컨테이너 이미지를 보관합니다. 기본값은 `--no-create-image-repository`입니다.

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

`--deployment-branch TEXT`  <a name="sam-cli-command-reference-sam-pipeline-bootstrap-options-deployment-branch"></a>
배포가 시작될 브랜치의 이름입니다. 이 옵션은 권한에 GitHub Actions OIDC를 사용하는 경우에만 해당합니다.

`--github-org TEXT`  <a name="sam-cli-command-reference-sam-pipeline-bootstrap-options-github-org"></a>
리포지토리가 속한 GitHub 조직입니다. 조직이 없는 경우 리포지토리 소유자의 사용자 이름을 입력합니다. 이 옵션은 권한에 GitHub Actions OIDC를 사용하는 경우에만 해당합니다.

`--github-repo TEXT`  <a name="sam-cli-command-reference-sam-pipeline-bootstrap-options-github-repo"></a>
배포가 시작될 GitHub 리포지토리의 이름입니다. 이 옵션은 권한에 GitHub Actions OIDC를 사용하는 경우에만 해당합니다.

`--gitlab-group TEXT`  <a name="sam-cli-command-reference-sam-pipeline-bootstrap-options-gitlab-group"></a>
리포지토리가 속한 GitLab 그룹입니다. 이 옵션은 권한에 GitLab OIDC를 사용하는 경우에만 해당합니다.

`--gitlab-project TEXT`  <a name="sam-cli-command-reference-sam-pipeline-bootstrap-options-gitlab-project"></a>
GitLab 프로젝트 이름입니다. 이 옵션은 권한에 GitLab OIDC를 사용하는 경우에만 해당합니다.

`--help, -h`  <a name="sam-cli-command-reference-sam-pipeline-bootstrap-options-help"></a>
이 메시지를 표시한 후 종료합니다.

`--image-repository TEXT`  <a name="sam-cli-command-reference-sam-pipeline-bootstrap-options-image-repository"></a>
Lambda 함수 또는 패키지 유형이 `Image`인 레이어의 컨테이너 이미지를 보관하는 Amazon ECR 이미지 리포지토리의 ARN입니다. 제공된 경우 `--create-image-repository` 옵션은 무시됩니다. 제공되지 않은 경우 `--create-image-repository`이 지정되면 명령이 하나를 생성합니다.

`--interactive | --no-interactive`  <a name="sam-cli-command-reference-sam-pipeline-bootstrap-options-interactive"></a>
부트스트랩 매개변수에 대한 대화식 프롬프트를 비활성화하고 필수 매개변수가 누락되면 실패합니다. 기본값은 `--interactive`입니다. 이 명령에 관하여 `--stage`이 유일한 필수 매개변수입니다.  
`--no-interactive`이 `--use-oidc-provider`와 함께 지정된 경우, OIDC 공급자의 모든 필수 매개변수가 포함되어야 합니다.

`--oidc-client-id TEXT`  <a name="sam-cli-command-reference-sam-pipeline-bootstrap-options-oidc-client-id"></a>
OIDC 제공업체와 함께 사용하도록 구성된 클라이언트 ID입니다.

`--oidc-provider [github-actions | gitlab | bitbucket-pipelines]`  <a name="sam-cli-command-reference-sam-pipeline-bootstrap-options-oidc-provider"></a>
OIDC 권한에 사용될 CI/CD 제공업체의 명칭입니다. GitLab, GitHub, Bitbucket이 지원됩니다.

`--oidc-provider-url TEXT`  <a name="sam-cli-command-reference-sam-pipeline-bootstrap-options-oidc-provider-url"></a>
OIDC ID 제공업체의 URL입니다. 값은 **https://**로 시작해야 합니다.

`--permissions-provider [oidc | iam]`  <a name="sam-cli-command-reference-sam-pipeline-bootstrap-options-permissions-provider"></a>
파이프라인 실행 역할을 맡을 권한 제공업체를 선택합니다. 기본값은 **iam**입니다.

`--pipeline-execution-role TEXT`  <a name="sam-cli-command-reference-sam-pipeline-bootstrap-options-pipeline-execution-role"></a>
파이프라인 사용자가 이 단계에서 운영하도록 위임하는 IAM 역할의 ARN입니다. 자신의 역할을 사용하는 경우에만 입력합니다. 지정하지 않은 경우 이 명령은 새 역할을 생성합니다.

`--pipeline-user TEXT`  <a name="sam-cli-command-reference-sam-pipeline-bootstrap-options-pipeline-user"></a>
액세스 키 ID와 비밀 액세스 키를 CI/CD 시스템과 공유하는 IAM 사용자의 Amazon 리소스 이름(ARN)입니다. 이 IAM 사용자에게 해당 AWS 계정에 액세스할 수 있는 권한을 부여하는 데 사용됩니다. 제공하지 않는 경우 명령은 액세스 키 ID 및 보안 액세스 키 보안 인증 정보와 함께 IAM 사용자를 생성합니다.

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

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

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

`--stage TEXT`  <a name="sam-cli-command-reference-sam-pipeline-bootstrap-options-stage"></a>
해당하는 배포 단계의 이름입니다. 생성된 AWS 인프라 리소스의 접미사로 사용됩니다.

## 문제 해결
<a name="sam-cli-command-reference-sam-pipeline-bootstrap-troubleshooting"></a>

### 오류: 필수 매개변수 누락
<a name="sam-cli-command-reference-sam-pipeline-bootstrap-troubleshooting-example1"></a>

`--no-interactive`이 `--use-oidc-provider`와 함께 지정되었지만 필수 매개변수가 제공되지 않은 경우 이 오류 메시지가 누락된 매개변수에 대한 설명과 함께 표시됩니다. 

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

다음 예제에서는 CI/CD 시스템을 생성하는 데 필요한 AWS 리소스를 생성하고 디버그 로깅을 켜고에서 생성된 디버그 메시지를 인쇄합니다 AWS SAM CLI.는 이벤트를 사용하여 로컬에서 Lambda 함수를 호출하여 로컬 테스트에 생성된 `s3.json` 이벤트를 사용합니다.

```
$ sam pipeline bootstrap --debug
```

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

이 페이지에서는 AWS Serverless Application Model 명령줄 인터페이스(AWS SAM CLI) `sam pipeline init` 하위 명령에 대한 참조 정보를 제공합니다.

에 대한 소개는 단원을 AWS SAM CLI참조하십시오. [란 무엇입니까 AWS SAM CLI?](what-is-sam-overview.md#what-is-sam-cli) 

`sam pipeline init` 하위 명령은 CI/CD 시스템이를 사용하여 서버리스 애플리케이션을 배포하는 데 사용할 수 있는 파이프라인 구성 파일을 생성합니다 AWS SAM.

**sam pipeline init**을 사용하기 전에 귀하의 파이프라인의 각 단계에 필요한 리소스를 부트스트랩해야 합니다. **sam pipeline init --bootstrap**를 실행하여 설정 및 구성 파일 생성 프로세스를 안내받거나 이전에 **sam pipeline bootstrap** 명령으로 만든 리소스를 참조하여 이 작업을 수행할 수 있습니다.

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

```
$ sam pipeline init <options>
```

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

`--bootstrap`  <a name="sam-cli-command-reference-sam-pipeline-init-options-bootstrap"></a>
사용자에게 필요한 AWS 인프라 리소스 생성을 안내하는 대화형 모드를 활성화합니다.

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

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

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

`--help, -h`  <a name="sam-cli-command-reference-sam-pipeline-init-options-help"></a>
이 메시지를 표시한 후 종료합니다.

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

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

다음 예제에서는 `--bootstrap` 옵션을 사용하여 필요한 AWS 인프라 리소스를 생성하는 방법을 안내하는 대화형 모드를 안내하는 방법을 보여줍니다.

```
$ sam pipeline init --bootstrap
```

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

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

에 대한 소개는 단원을 AWS SAM CLI참조하십시오. [란 무엇입니까 AWS SAM CLI?](what-is-sam-overview.md#what-is-sam-cli) 

`sam publish` 명령은 AWS SAM 애플리케이션을에 게시합니다 AWS Serverless Application Repository. 이 명령은 패키징된 AWS SAM 템플릿을 가져와 지정된 AWS 리전에 애플리케이션을 게시합니다.

`sam publish` 명령은 AWS SAM 템플릿에 게시에 필요한 애플리케이션 메타데이터가 포함된 `Metadata` 섹션이 포함될 것으로 예상합니다. `Metadata` 단원에서 `LicenseUrl` 및 `ReadmeUrl` 속성은 로컬 파일이 아니라 Amazon Simple Storage Service(S3) 버킷을 참조해야 합니다. AWS SAM 템플릿의 `Metadata` 섹션에 대한 자세한 내용은 섹션을 참조하세요[AWS SAMCLI를 사용하여 애플리케이션 게시](serverless-sam-template-publishing-applications.md).

기본 사항으로서, `sam publish`은 어플리케이션은 사적으로 생성합니다. 다른 AWS 계정에게 귀하의 어플리케이션을 열람 및 배포할 수 있도록 허용하려면 먼저 이를 공유해야 합니다. 어플리케이션 공유에 대한 자세한 내용은 *AWS Serverless Application Repository 개발자 안내서*의 [AWS Serverless Application Repository 리소스 기반 정책 예제](https://docs.aws.amazon.com/serverlessrepo/latest/devguide/security_iam_resource-based-policy-examples.html)를 참조하세요.

**참고**  
현재 `sam publish`는 로컬로 지정된 중첩된 어플리케이션을 게시하는 것을 지원하지 않습니다. 애플리케이션에 중첩 애플리케이션이 포함된 경우 상위 애플리케이션을 게시하기 AWS Serverless Application Repository 전에에 별도로 게시해야 합니다.

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

```
$ sam publish <options>
```

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

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

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

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

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

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

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

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

`--semantic-version TEXT`  <a name="sam-cli-command-reference-sam-publish-options-semantic-version"></a>
(선택 사항) 이 옵션을 사용하면 템플릿 파일 `Metadata` 섹션의 `SemanticVersion` 속성을 재정의하는 귀하의 어플리케이션 시맨틱 버전을 제공할 수 있습니다. 시맨틱 버전 관리에 대한 자세한 내용은 [시맨틱 버전 관리 사양](https://semver.org/)을 참조하세요.

`--template, -t PATH`  <a name="sam-cli-command-reference-sam-publish-options-template"></a>
 AWS SAM 템플릿 파일의 경로입니다`[default: template.[yaml|yml]]`.

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

어플리케이션의 게시:

```
$ sam publish --template packaged.yaml --region us-east-1
```

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

이 페이지에서는 AWS Serverless Application Model 명령줄 인터페이스(AWS SAM CLI) `sam remote callback` 명령에 대한 참조 정보를 제공합니다.

에 대한 소개는 단원을 AWS SAM CLI참조하십시오. [란 무엇입니까 AWS SAM CLI?](what-is-sam-overview.md#what-is-sam-cli) 

`sam remote callback` 명령을 사용하면 AWS Lambda에서 실행되는 내구성이 뛰어난 원격 함수 실행에 콜백을 보낼 수 있습니다.

**참고**  
이러한 명령은 AWS 자격 증명에 대한 액세스 권한이 필요합니다.

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

```
$ sam remote callback <subcommand> <options>
```

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

`--help, -h`  <a name="sam-cli-command-reference-sam-remote-callback-options-help"></a>
이 메시지를 표시한 후 종료합니다.

## 하위 명령
<a name="sam-cli-command-reference-sam-remote-callback-subcommands"></a>

`succeed`  <a name="sam-cli-command-reference-sam-remote-callback-subcommands-succeed"></a>
원격 내구성 함수 실행에 콜백 성공을 전송합니다. 자세한 내용은 [sam remote callback succeed](sam-cli-command-reference-sam-remote-callback-succeed.md) 단원을 참조하십시오.

`fail`  <a name="sam-cli-command-reference-sam-remote-callback-subcommands-fail"></a>
원격 내구성 함수 실행에 콜백 실패를 보냅니다. 자세한 내용은 [sam remote callback fail](sam-cli-command-reference-sam-remote-callback-fail.md) 단원을 참조하십시오.

`heartbeat`  <a name="sam-cli-command-reference-sam-remote-callback-subcommands-heartbeat"></a>
원격 내구성 함수 실행으로 콜백 하트비트를 전송합니다. 자세한 내용은 [sam remote callback heartbeat](sam-cli-command-reference-sam-remote-callback-heartbeat.md) 단원을 참조하십시오.

# sam remote callback succeed
<a name="sam-cli-command-reference-sam-remote-callback-succeed"></a>

원격 내구성 함수 실행에 콜백 성공을 전송합니다.

**참고**  
이 명령은 AWS 자격 증명에 대한 액세스 권한이 필요합니다.

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

```
$ sam remote callback succeed CALLBACK_ID [OPTIONS]
```

## 필수 인수
<a name="ref-sam-cli-remote-callback-succeed-arguments"></a>

`CALLBACK_ID`  
성공 응답을 보낼 콜백의 고유 식별자입니다.

## 옵션
<a name="ref-sam-cli-remote-callback-succeed-options"></a>

`-r, --result TEXT`  
성공 결과 페이로드를 문자열로 표시합니다.

`--region TEXT`  
서비스의 AWS 리전을 설정합니다(예: `us-east-1`).

`--profile TEXT`  
자격 증명 파일에서 특정 프로필을 선택하여 AWS 자격 증명을 가져옵니다.

`--config-env TEXT`  
구성 파일에서 기본 파라미터 값을 지정하는 환경 이름입니다. 기본값: `default`

`--config-file TEXT`  
기본 파라미터 값이 포함된 구성 파일입니다. 기본값: `samconfig.toml`

`--save-params`  
명령줄을 통해 제공된 파라미터를 구성 파일에 저장합니다.

`--beta-features / --no-beta-features`  
베타 기능을 활성화/비활성화합니다.

`--debug`  
디버그 로깅을 켜서 AWS SAM CLI에서 생성된 디버그 메시지를 인쇄하고 타임스탬프를 표시합니다.

`-h, --help`  
이 메시지를 표시한 후 종료합니다.

## 예제
<a name="ref-sam-cli-remote-callback-succeed-examples"></a>

결과 없이 성공 콜백 전송:

```
$ sam remote callback succeed my-callback-id
```

결과와 함께 성공 콜백 전송:

```
$ sam remote callback succeed my-callback-id --result 'Task completed successfully'
```

# sam remote callback fail
<a name="sam-cli-command-reference-sam-remote-callback-fail"></a>

원격 내구성 함수 실행에 콜백 실패를 보냅니다.

**참고**  
이 명령은 AWS 자격 증명에 대한 액세스 권한이 필요합니다.

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

```
$ sam remote callback fail CALLBACK_ID [OPTIONS]
```

## 필수 인수
<a name="ref-sam-cli-remote-callback-fail-arguments"></a>

`CALLBACK_ID`  
실패 응답을 보낼 콜백의 고유 식별자입니다.

## 옵션
<a name="ref-sam-cli-remote-callback-fail-options"></a>

`--error-data TEXT`  
추가 오류 데이터.

`--stack-trace TEXT`  
트레이스 항목을 스택합니다. 이 옵션은 여러 번 지정할 수 있습니다.

`--error-type TEXT`  
오류의 유형입니다.

`--error-message TEXT`  
자세한 오류 메시지입니다.

`--region TEXT`  
서비스의 AWS 리전을 설정합니다(예: `us-east-1`).

`--profile TEXT`  
자격 증명 파일에서 특정 프로필을 선택하여 AWS 자격 증명을 가져옵니다.

`--config-env TEXT`  
구성 파일에서 기본 파라미터 값을 지정하는 환경 이름입니다. 기본값: `default`

`--config-file TEXT`  
기본 파라미터 값이 포함된 구성 파일입니다. 기본값: `samconfig.toml`

`--save-params`  
명령줄을 통해 제공된 파라미터를 구성 파일에 저장합니다.

`--beta-features / --no-beta-features`  
베타 기능을 활성화/비활성화합니다.

`--debug`  
디버그 로깅을 켜서 AWS SAM CLI에서 생성된 디버그 메시지를 인쇄하고 타임스탬프를 표시합니다.

`-h, --help`  
이 메시지를 표시한 후 종료합니다.

## 예제
<a name="ref-sam-cli-remote-callback-fail-examples"></a>

파라미터 없이 실패 콜백 전송:

```
$ sam remote callback fail my-callback-id
```

오류 메시지와 함께 실패 콜백 전송:

```
$ sam remote callback fail my-callback-id --error-message 'Task failed'
```

모든 파라미터와 함께 실패 콜백 전송:

```
$ sam remote callback fail my-callback-id --error-message 'Task failed' --error-type 'ValidationError' --stack-trace 'at line 42' --error-data '{"code": 500}'
```

# sam remote callback heartbeat
<a name="sam-cli-command-reference-sam-remote-callback-heartbeat"></a>

콜백 하트비트를 내구성이 뛰어난 원격 함수 실행으로 전송합니다.

**참고**  
이 명령은 AWS 자격 증명에 대한 액세스 권한이 필요합니다.

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

```
$ sam remote callback heartbeat CALLBACK_ID [OPTIONS]
```

## 필수 인수
<a name="ref-sam-cli-remote-callback-heartbeat-arguments"></a>

`CALLBACK_ID`  
하트비트를 보낼 콜백의 고유 식별자입니다.

## 옵션
<a name="ref-sam-cli-remote-callback-heartbeat-options"></a>

`--region TEXT`  
서비스의 AWS 리전을 설정합니다(예: `us-east-1`).

`--profile TEXT`  
자격 증명 파일에서 특정 프로필을 선택하여 AWS 자격 증명을 가져옵니다.

`--config-env TEXT`  
구성 파일에서 기본 파라미터 값을 지정하는 환경 이름입니다. 기본값: `default`

`--config-file TEXT`  
기본 파라미터 값이 포함된 구성 파일입니다. 기본값: `samconfig.toml`

`--save-params`  
명령줄을 통해 제공된 파라미터를 구성 파일에 저장합니다.

`--beta-features / --no-beta-features`  
베타 기능을 활성화/비활성화합니다.

`--debug`  
디버그 로깅을 켜서 AWS SAM CLI에서 생성된 디버그 메시지를 인쇄하고 타임스탬프를 표시합니다.

`-h, --help`  
이 메시지를 표시한 후 종료합니다.

## 예제
<a name="ref-sam-cli-remote-callback-heartbeat-examples"></a>

하트비트 콜백 전송:

```
$ sam remote callback heartbeat my-callback-id
```

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

이 페이지에서는 AWS Serverless Application Model 명령줄 인터페이스(AWS SAM CLI) `sam remote execution` 명령에 대한 참조 정보를 제공합니다.

에 대한 소개는 단원을 AWS SAM CLI참조하십시오. [란 무엇입니까 AWS SAM CLI?](what-is-sam-overview.md#what-is-sam-cli) 

`sam remote execution` 명령을 사용하면 AWS Lambda에서 실행되는 내구성이 뛰어난 원격 함수 실행을 관리하고 검사할 수 있습니다.

**참고**  
이러한 명령은 AWS 자격 증명에 대한 액세스 권한이 필요합니다.

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

```
$ sam remote execution <subcommand> <options>
```

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

`--help, -h`  <a name="sam-cli-command-reference-sam-remote-execution-options-help"></a>
이 메시지를 표시한 후 종료합니다.

## 하위 명령
<a name="sam-cli-command-reference-sam-remote-execution-subcommands"></a>

`get`  <a name="sam-cli-command-reference-sam-remote-execution-subcommands-get"></a>
내구성 있는 실행에 대한 세부 정보를 가져옵니다. 자세한 내용은 [sam remote execution get](sam-cli-command-reference-sam-remote-execution-get.md) 단원을 참조하십시오.

`history`  <a name="sam-cli-command-reference-sam-remote-execution-subcommands-history"></a>
내구성 있는 함수 실행의 실행 기록을 가져옵니다. 자세한 내용은 [sam remote execution history](sam-cli-command-reference-sam-remote-execution-history.md) 단원을 참조하십시오.

`stop`  <a name="sam-cli-command-reference-sam-remote-execution-subcommands-stop"></a>
내구성 있는 함수 실행을 중지합니다. 자세한 내용은 [sam remote execution stop](sam-cli-command-reference-sam-remote-execution-stop.md) 단원을 참조하십시오.

# sam remote execution get
<a name="sam-cli-command-reference-sam-remote-execution-get"></a>

 AWS Lambda에서 특정 내구성 함수 실행의 세부 정보를 검색합니다.

실행 ARN은 간접 호출에서 반환하거나 실행 로그에 있는 형식이어야 합니다.

**참고**  
이 명령은 AWS 자격 증명에 대한 액세스 권한이 필요합니다.

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

```
$ sam remote execution get DURABLE_EXECUTION_ARN [OPTIONS]
```

## 필수 인수
<a name="ref-sam-cli-remote-execution-get-arguments"></a>

`DURABLE_EXECUTION_ARN`  
세부 정보를 검색할 내구성 함수 실행의 Amazon 리소스 이름(ARN)입니다.

## 옵션
<a name="ref-sam-cli-remote-execution-get-options"></a>

`--format [summary|json]`  
출력 형식. 기본값: `summary`

`--region TEXT`  
서비스의 AWS 리전을 설정합니다(예: `us-east-1`).

`--profile TEXT`  
자격 증명 파일에서 특정 프로필을 선택하여 AWS 자격 증명을 가져옵니다.

`--config-env TEXT`  
구성 파일에서 기본 파라미터 값을 지정하는 환경 이름입니다. 기본값: `default`

`--config-file TEXT`  
기본 파라미터 값이 포함된 구성 파일입니다. 기본값: `samconfig.toml`

`--save-params`  
명령줄을 통해 제공된 파라미터를 구성 파일에 저장합니다.

`--beta-features / --no-beta-features`  
베타 기능을 활성화/비활성화합니다.

`--debug`  
디버그 로깅을 켜서 AWS SAM CLI에서 생성된 디버그 메시지를 인쇄하고 타임스탬프를 표시합니다.

`-h, --help`  
이 메시지를 표시한 후 종료합니다.

## 예제
<a name="ref-sam-cli-remote-execution-get-examples"></a>

기본 요약 형식으로 실행 세부 정보를 가져옵니다.

```
$ sam remote execution get 'arn:aws:lambda:us-east-1:123456789012:function:my-function:$LATEST/durable-execution/c63eec67-3415-4eb4-a495-116aa3a86278/1d454231-a3ad-3694-aa03-c917c175db55'
```

JSON 형식으로 실행 세부 정보를 가져옵니다.

```
$ sam remote execution get 'arn:aws:lambda:us-east-1:123456789012:function:my-function:$LATEST/durable-execution/c63eec67-3415-4eb4-a495-116aa3a86278/1d454231-a3ad-3694-aa03-c917c175db55' --format json
```

**참고**  
셸 명령을 사용할 때와 같은 실행 ARN의 제어 문자`$`가 제대로 이스케이프 처리되었는지 확인해야 합니다.

# sam remote execution history
<a name="sam-cli-command-reference-sam-remote-execution-history"></a>

 AWS Lambda에서 특정 내구성 함수 실행의 실행 기록을 검색합니다.

실행 ARN은 StartDurableExecution에서 반환하거나 실행 로그에 있는 형식이어야 합니다.

**참고**  
이 명령은 AWS 자격 증명에 대한 액세스 권한이 필요합니다.

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

```
$ sam remote execution history DURABLE_EXECUTION_ARN [OPTIONS]
```

## 필수 인수
<a name="ref-sam-cli-remote-execution-history-arguments"></a>

`DURABLE_EXECUTION_ARN`  
기록을 검색할 내구성 있는 함수 실행의 Amazon 리소스 이름(ARN)입니다.

## 옵션
<a name="ref-sam-cli-remote-execution-history-options"></a>

`--format [table|json]`  
출력 형식. 기본값: `table`

`--region TEXT`  
서비스의 AWS 리전을 설정합니다(예: `us-east-1`).

`--profile TEXT`  
자격 증명 파일에서 특정 프로필을 선택하여 AWS 자격 증명을 가져옵니다.

`--config-env TEXT`  
구성 파일에서 기본 파라미터 값을 지정하는 환경 이름입니다. 기본값: `default`

`--config-file TEXT`  
기본 파라미터 값이 포함된 구성 파일입니다. 기본값: `samconfig.toml`

`--save-params`  
명령줄을 통해 제공된 파라미터를 구성 파일에 저장합니다.

`--beta-features / --no-beta-features`  
베타 기능을 활성화/비활성화합니다.

`--debug`  
디버그 로깅을 켜서 AWS SAM CLI에서 생성된 디버그 메시지를 인쇄하고 타임스탬프를 표시합니다.

`-h, --help`  
이 메시지를 표시한 후 종료합니다.

## 예제
<a name="ref-sam-cli-remote-execution-history-examples"></a>

기본 테이블 형식으로 실행 기록을 가져옵니다.

```
$ sam remote execution history arn:aws:lambda:us-east-1:123456789012:function:MyFunction:$LATEST/durable-execution/my-execution-name/my-execution-id
```

JSON 형식으로 실행 기록 가져오기:

```
$ sam remote execution history arn:aws:lambda:us-east-1:123456789012:function:MyFunction:$LATEST/durable-execution/my-execution-name/my-execution-id --format json
```

# sam remote execution stop
<a name="sam-cli-command-reference-sam-remote-execution-stop"></a>

 AWS Lambda에서 실행 중인 내구성 함수 실행을 중지합니다.

실행 ARN은 StartDurableExecution에서 반환하거나 실행 로그에 있는 형식이어야 합니다.

**참고**  
이 명령은 AWS 자격 증명에 대한 액세스 권한이 필요합니다.

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

```
$ sam remote execution stop DURABLE_EXECUTION_ARN [OPTIONS]
```

## 필수 인수
<a name="ref-sam-cli-remote-execution-stop-arguments"></a>

`DURABLE_EXECUTION_ARN`  
중지할 내구성 함수 실행의 Amazon 리소스 이름(ARN)입니다.

## 옵션
<a name="ref-sam-cli-remote-execution-stop-options"></a>

`--error-message TEXT`  
중지된 실행과 연결할 오류 메시지입니다.

`--error-type TEXT`  
중지된 실행과 연결할 오류 유형입니다.

`--error-data TEXT`  
중지된 실행과 연결할 오류 데이터입니다.

`--stack-trace TEXT`  
트레이스 항목을 스택합니다. 이 옵션은 여러 번 지정할 수 있습니다.

`--region TEXT`  
서비스의 AWS 리전을 설정합니다(예: `us-east-1`).

`--profile TEXT`  
자격 증명 파일에서 특정 프로필을 선택하여 AWS 자격 증명을 가져옵니다.

`--config-env TEXT`  
구성 파일에서 기본 파라미터 값을 지정하는 환경 이름입니다. 기본값: `default`

`--config-file TEXT`  
기본 파라미터 값이 포함된 구성 파일입니다. 기본값: `samconfig.toml`

`--save-params`  
명령줄을 통해 제공된 파라미터를 구성 파일에 저장합니다.

`--beta-features / --no-beta-features`  
베타 기능을 활성화/비활성화합니다.

`--debug`  
디버그 로깅을 켜서 AWS SAM CLI에서 생성된 디버그 메시지를 인쇄하고 타임스탬프를 표시합니다.

`-h, --help`  
이 메시지를 표시한 후 종료합니다.

## 예제
<a name="ref-sam-cli-remote-execution-stop-examples"></a>

오류 세부 정보 없이 실행 중지:

```
$ sam remote execution stop arn:aws:lambda:us-east-1:123456789012:function:MyFunction:$LATEST/durable-execution/my-execution-name/my-execution-id
```

오류 메시지 및 유형으로 실행 중지:

```
$ sam remote execution stop arn:aws:lambda:us-east-1:123456789012:function:MyFunction:$LATEST/durable-execution/my-execution-name/my-execution-id --error-message "Execution cancelled" --error-type "UserCancellation"
```

전체 오류 세부 정보 및 스택 추적으로 실행을 중지합니다.

```
$ sam remote execution stop arn:aws:lambda:us-east-1:123456789012:function:MyFunction:$LATEST/durable-execution/my-execution-name/my-execution-id --error-message "Task failed" --error-type "TaskFailure" --error-data '{"reason":"timeout"}' --stack-trace "at function1()" --stack-trace "at function2()"
```

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

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

이 `sam remote invoke` 명령은 AWS 클라우드에 속한 지원되는 리소스를 간접 호출합니다.

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

```
$ sam remote invoke <arguments> <options>
```

## 인수
<a name="sam-cli-command-reference-remote-invoke-args"></a>

**리소스 ID**  <a name="sam-cli-command-reference-remote-invoke-args-resource-id"></a>
호출할 지원 리소스의 ID.  
이 인수는 다음 값으로 지정할 수 있습니다.  
+ **Amazon 리소스 이름(ARN)** – 리소스의 ARN입니다.
**작은 정보**  
귀하의 리소스의 ARN을 구하는데 `sam list stack-outputs --stack-name <stack-name>`을 사용합니다.
+ **논리적 ID** - 리소스의 논리적 ID 또한 `--stack-name` 옵션을 사용하여 AWS CloudFormation 스택 이름을 제공해야 합니다.
+ **물리적 ID** – 리소스의 물리적 ID. 이 ID는를 사용하여 리소스를 배포할 때 생성됩니다 CloudFormation.
**작은 정보**  
귀하의 리소스의 물리적 ID를 얻는데 `sam list resources --stack-name <stack-name>`을 사용합니다.  
**ARN 또는 물리적 ID를 제공하는 경우:**  
ARN 또는 물리적 ID를 제공하는 경우 스택 이름을 제공하지 마십시오. `--stack-name` 옵션을 사용하여 스택 이름을 제공하거나 구성 파일에 AWS SAM CLI 스택 이름을 정의하면가 자동으로 리소스 ID를 CloudFormation 스택의 논리적 ID 값으로 처리합니다.  
**귀하가 리소스 ID를 제공하지 않는 경우:**  
리소스 ID를 제공하지 않지만 `--stack-name` 옵션과 함께 스택 이름을 제공하는 경우 AWS SAM CLI는 다음 로직을 사용하여 CloudFormation 스택의 리소스를 자동으로 호출하려고 시도합니다.  

1. 는 AWS SAM CLI 다음 순서로 리소스 유형을 식별하고 스택에서 리소스 유형이 발견되면 다음 단계로 이동합니다.

   1. Lambda

   1. 단계 함수

   1.  Amazon SQS

   1. Kinesis Data Streams

1. 리소스 유형에 스택에 단일 리소스가 있는 경우 AWS SAM CLI가 해당 리소스를 호출합니다. 스택에 리소스 유형의 리소스가 여러 개 있는 경우 AWS SAM CLI는 오류를 반환합니다.
다음은에서 수행할 작업의 예입니다. AWS SAM CLI   
+ 두 **개의 Lambda 함수와 Amazon SQS 대기열이 포함된 스택** - 스택에 둘 이상의 Lambda 함수가 포함되어 있으므로는 AWS SAM CLI Lambda 리소스 유형을 찾고 및 오류를 반환합니다.
+ **Lambda 함수 1개와 Amazon Kinesis Data Streams 애플리케이션 2개가 포함된 스택** - 스택에 단일 Lambda 리소스가 포함되어 있으므로는 AWS SAM CLI Lambda 함수를 찾아 호출합니다.
+ **단일 Amazon SQS 대기열과 두 개의 Kinesis Data Streams 애플리케이션이 포함된 스택** - 스택에 단일 Amazon SQS 대기열이 포함되어 있으므로는 AWS SAM CLI Amazon SQS 대기열을 찾아 호출합니다.

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

`--beta-features | --no-beta-features`  <a name="sam-cli-command-reference-remote-invoke-options-beta-features"></a>
베타 기능을 허용 또는 거부합니다.

`--config-env TEXT`  <a name="sam-cli-command-reference-remote-invoke-options-config-env"></a>
귀하의 AWS SAMCLI 구성 파일로부터 사용할 환경을 지정합니다.  
*기본값*: `default`

`--config-file FILENAME`  <a name="sam-cli-command-reference-remote-invoke-options-config-file"></a>
귀하의 구성 파일의 경로 및 이름을 지정합니다.  
구성 파일에 대한 자세한 내용은 [AWS SAM CLI 구성](using-sam-cli-configure.md) 섹션을 참조하세요.  
*기본값*: 프로젝트 디렉터리의 루트에 있는 `samconfig.toml` 

`--debug`  <a name="sam-cli-command-reference-remote-invoke-options-debug"></a>
디버그 로깅을 활성화합니다. 이것은 AWS SAMCLI가 생성한 타임스탬프와 디버그 메시지를 인쇄합니다.

`--event, -e TEXT`  <a name="sam-cli-command-reference-remote-invoke-options-event"></a>
대상 리소스에 전송할 이벤트입니다.

`--event-file FILENAME`  <a name="sam-cli-command-reference-remote-invoke-options-event-file"></a>
대상 리소스에 보낼 이벤트가 포함된 파일의 경로입니다.

`--help, -h`  <a name="sam-cli-command-reference-remote-invoke-options-help"></a>
도움말 메시지를 표시한 후 종료합니다.

`--output [ text | json ]`  <a name="sam-cli-command-reference-remote-invoke-options-output"></a>
호출 결과를 특정 출력 형식으로 출력합니다.  
`json` – 요청 메타데이터와 리소스 응답이 JSON 구조로 반환됩니다. 응답에는 전체 SDK 출력 결과가 포함됩니다.  
`text` – 요청 메타데이터가 텍스트 구조로 반환됩니다. 리소스 응답은 간접 호출된 리소스의 출력 형식으로 반환됩니다.

`--parameter`  <a name="sam-cli-command-reference-remote-invoke-options-parameter"></a>
간접 호출 중인 리소스에 귀하가 전달할 수 있는 추가 [https://boto3.amazonaws.com/v1/documentation/api/latest/index.html](https://boto3.amazonaws.com/v1/documentation/api/latest/index.html)파라미터.    
**Amazon Kinesis Data Streams**  <a name="sam-cli-command-reference-remote-invoke-options-parameter-kinesis"></a>
Kinesis 데이터 스트림에 기록을 넣는 데 다음과 같은 추가 파라미터가 사용될 수 있습니다.  
+ `ExplicitHashKey='string'`
+ `PartitionKey='string'`
+ `SequenceNumberForOrdering='string'`
+ `StreamARN='string'`
각 파라미터에 대한 설명은 [Kinesis.Client.put\$1record](https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/kinesis/client/put_record.html)를 참조하세요.  
**AWS Lambda**  <a name="sam-cli-command-reference-remote-invoke-options-parameter-lambda"></a>
다음과 같은 추가 파라미터를 사용하여 Lambda 리소스를 간접 호출하고 버퍼링된 응답을 받을 수 있습니다.  
+ `ClientContext='base64-encoded string'`
+ `InvocationType='[ DryRun | Event | RequestResponse ]'`
+ `LogType='[ None | Tail ]'`
+ `Qualifier='string'`
다음 추가 파라미터를 사용하여 응답 스트리밍으로 Lambda 리소스를 간접 호출할 수 있습니다.  
+ `ClientContext='base64-encoded string'`
+ `InvocationType='[ DryRun | RequestResponse ]'`
+ `LogType='[ None | Tail ]'`
+ `Qualifier='string'`
각 파라미터에 대한 설명은 다음을 참조하세요.  
+ 버퍼링된 응답을 포함하는 Lambda – [Lambda.Client.invoke](https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/lambda/client/invoke.html)
+ 응답 스트리밍을 지원하는 Lambda – [Lambda.Client.invoke\$1with\$1response\$1stream](https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/lambda/client/invoke_with_response_stream.html)  
**Amazon Simple Queue Service(Amazon SQS)**  <a name="sam-cli-command-reference-remote-invoke-options-parameter-sqs"></a>
Amazon SQS 대기열로 메시지를 보내는 데 다음 추가 파라미터가 사용될 수 있습니다.  
+ `DelaySeconds=integer`
+ `MessageAttributes='json string'`
+ `MessageDeduplicationId='string'`
+ `MessageGroupId='string'`
+ `MessageSystemAttributes='json string'`
각 파라미터에 대한 설명은 [SQS.Client.send\$1message](https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/sqs/client/send_message.html)를 참조하세요.  
**AWS Step Functions**  <a name="sam-cli-command-reference-remote-invoke-options-parameter-sf"></a>
다음 추가 파라미터는 상태 시스템 실행을 시작하는 데 사용할 수 있습니다.  
+ `name='string'`
+ `traceHeader='string'`
각 파라미터에 대한 설명은 [SFN.Client.start\$1execution](https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/stepfunctions/client/start_execution.html)를 참조하세요.

`--profile TEXT`  <a name="sam-cli-command-reference-remote-invoke-options-profile"></a>
자격 증명을 가져올 자격 증명 파일의 특정 프로필입니다 AWS .

`--region TEXT`  <a name="sam-cli-command-reference-remote-invoke-options-region"></a>
리소스 AWS 리전 의 입니다. 예를 들어 `us-east-1`입니다.

`--stack-name TEXT`  <a name="sam-cli-command-reference-remote-invoke-options-stack-name"></a>
리소스가 속한 CloudFormation 스택의 이름입니다.

`--tenant-id TEXT`  <a name="ref-sam-cli-local-invoke-options-tenancyconfig"></a>
다중 테넌트 Lambda 함수의 테넌트 ID입니다. 서로 다른 테넌트 간의 컴퓨팅 격리를 보장하는 데 사용됩니다. 테넌트 격리 모드로 구성된 함수를 호출할 때 필요합니다.

`--test-event-name NAME`  <a name="sam-cli-command-reference-remote-invoke-options-test-event-name"></a>
Lambda 함수에 전달할 공유 가능한 테스트 이벤트의 이름.  
이 옵션은 Lambda 함수만 지원합니다.

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

다음 예제에서는 AWS 클라우드에서 지원되는 리소스를 호출하고 디버그 로깅을 활성화하여에서 생성된 디버그 메시지와 타임스탬프를 인쇄합니다. AWS SAM CLI

```
$ sam remote invoke--debug
```

# sam remote test-event
<a name="sam-cli-command-reference-remote-test-event"></a>

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

이 `sam remote test-event` 명령은 Amazon EventBridge 스키마 레지스트리의 공유 가능한 테스트 이벤트와 상호 작용합니다.

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

```
$ sam remote test-event <options> <subcommand>
```

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

`--help, -h`  <a name="sam-cli-command-reference-remote-invoke-options-help"></a>
도움말 메시지를 표시한 후 종료합니다.

## 하위 명령
<a name="sam-cli-command-reference-remote-test-event-subcommands"></a>

`delete`  
EventBridge 스키마 레지스트리에서 공유 가능한 테스트 이벤트를 삭제합니다. 자세한 내용은 [sam remote test-event delete](sam-cli-command-reference-remote-test-event-delete.md) 섹션을 참조하세요.

`get`  
EventBridge 스키마 레지스트리에서 공유 가능한 테스트 이벤트를 가져옵니다. 자세한 내용은 [sam remote test-event get](sam-cli-command-reference-remote-test-event-get.md) 섹션을 참조하세요.

`list`  
 AWS Lambda 함수에 대한 기존 공유 가능한 테스트 이벤트를 나열합니다. 자세한 내용은 [sam remote test-event list](sam-cli-command-reference-remote-test-event-list.md) 섹션을 참조하세요.

`put`  
로컬 파일의 이벤트를 EventBridge 스키마 레지스트리에 저장합니다. 자세한 내용은 [sam remote test-event put](sam-cli-command-reference-remote-test-event-put.md) 섹션을 참조하세요.

# sam remote test-event delete
<a name="sam-cli-command-reference-remote-test-event-delete"></a>

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

`sam remote test-event delete` 하위 명령은 Amazon EventBridge 스키마 레지스트리에서 공유 가능한 테스트 이벤트를 삭제합니다.

## 사용법
<a name="sam-cli-command-reference-remote-test-event-delete-usage"></a>

```
$ sam remote test-event delete <arguments> <options>
```

## 인수
<a name="sam-cli-command-reference-remote-test-event-delete-args"></a>

**리소스 ID**  <a name="sam-cli-command-reference-remote-test-event-delete-args-resource-id"></a>
공유 가능한 테스트 이벤트와 연결된 AWS Lambda 함수의 ID입니다.  
논리적 ID를 제공하는 경우 `--stack-name` 옵션을 사용하여 Lambda 함수와 연결된 AWS CloudFormation 스택의 값도 제공해야 합니다.  
*유효한 값*: 리소스의 논리적 ID 또는 리소스 ARN.

## 옵션
<a name="sam-cli-command-reference-remote-test-event-delete-options"></a>

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

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

`--help, -h`  <a name="sam-cli-command-reference-remote-test-event-delete-options-help"></a>
도움말 메시지를 표시한 후 종료합니다.

`--name TEXT`  <a name="sam-cli-command-reference-remote-test-event-delete-options-name"></a>
공유 가능한 삭제할 테스트 이벤트의 이름입니다.

`--stack-name TEXT`  <a name="sam-cli-command-reference-remote-test-event-delete-options-stack-name"></a>
Lambda 함수와 연결된 CloudFormation 스택의 이름입니다.  
Lambda 함수 논리 ID를 인수로 제공하는 경우 이 옵션이 필요합니다.

# sam remote test-event get
<a name="sam-cli-command-reference-remote-test-event-get"></a>

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

`sam remote test-event get` 하위 명령은 Amazon EventBridge 스키마 레지스트리에서 공유 가능한 테스트 이벤트를 가져옵니다.

## 사용법
<a name="sam-cli-command-reference-remote-test-event-get-usage"></a>

```
$ sam remote test-event get <arguments> <options>
```

## 인수
<a name="sam-cli-command-reference-remote-test-event-get-args"></a>

**리소스 ID**  <a name="sam-cli-command-reference-remote-test-event-get-args-resource-id"></a>
가져올 공유 가능한 테스트 이벤트와 연결된 AWS Lambda 함수의 ID입니다.  
논리적 ID를 제공하는 경우 `--stack-name` 옵션을 사용하여 Lambda 함수와 연결된 AWS CloudFormation 스택의 값도 제공해야 합니다.  
*유효한 값*: 리소스의 논리적 ID 또는 리소스 ARN.

## 옵션
<a name="sam-cli-command-reference-remote-test-event-get-options"></a>

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

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

`--help, -h`  <a name="sam-cli-command-reference-remote-test-event-get-options-help"></a>
도움말 메시지를 표시한 후 종료합니다.

`--name TEXT`  <a name="sam-cli-command-reference-remote-test-event-get-options-name"></a>
가져올 공유 가능한 테스트 이벤트의 이름입니다.

`--output-file FILENAME`  <a name="sam-cli-command-reference-remote-test-event-get-options-output-file"></a>
로컬 기기에 이벤트를 저장할 파일 경로와 이름입니다.  
이 옵션을 제공하지 않으면 AWS SAM CLI가 공유 가능한 테스트 이벤트의 내용을 콘솔에 출력합니다.

`--stack-name TEXT`  <a name="sam-cli-command-reference-remote-test-event-get-options-stack-name"></a>
Lambda 함수와 연결된 CloudFormation 스택의 이름입니다.  
Lambda 함수 논리 ID를 인수로 제공하는 경우 이 옵션이 필요합니다.

# sam remote test-event list
<a name="sam-cli-command-reference-remote-test-event-list"></a>

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

`sam remote test-event list` 하위 명령은 Amazon EventBridge 스키마 레지스트리의 특정 AWS Lambda 함수에 대한 기존 공유 가능한 테스트 이벤트를 나열합니다.

## 사용법
<a name="sam-cli-command-reference-remote-test-event-list-usage"></a>

```
$ sam remote test-event list <arguments> <options>
```

## 인수
<a name="sam-cli-command-reference-remote-test-event-list-args"></a>

**리소스 ID**  <a name="sam-cli-command-reference-remote-test-event-list-args-resource-id"></a>
공유 가능한 테스트 이벤트와 관련된 Lambda 함수의 ID입니다.  
논리적 ID를 제공하는 경우 `--stack-name` 옵션을 사용하여 Lambda 함수와 연결된 AWS CloudFormation 스택의 값도 제공해야 합니다.  
*유효한 값*: 리소스의 논리적 ID 또는 리소스 ARN.

## 옵션
<a name="sam-cli-command-reference-remote-test-event-list-options"></a>

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

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

`--help, -h`  <a name="sam-cli-command-reference-remote-test-event-list-options-help"></a>
도움말 메시지를 표시한 후 종료합니다.

`--stack-name TEXT`  <a name="sam-cli-command-reference-remote-test-event-list-options-stack-name"></a>
Lambda 함수와 연결된 CloudFormation 스택의 이름입니다.  
Lambda 함수 논리 ID를 인수로 제공하는 경우 이 옵션이 필요합니다.

## 예제
<a name="sam-cli-command-reference-remote-test-event-list-examples"></a>

이 명령을 사용하는 예제는 [공유 가능한 테스트 이벤트 나열](using-sam-cli-remote-test-event.md#using-sam-cli-remote-test-event-use-list) 섹션을 참조하세요.

# sam remote test-event put
<a name="sam-cli-command-reference-remote-test-event-put"></a>

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

`sam remote test-event put` 하위 명령은 로컬 기기의 공유 가능한 테스트 이벤트를 Amazon EventBridge 스키마 레지스트리에 저장합니다.

## 사용법
<a name="sam-cli-command-reference-remote-test-event-put-usage"></a>

```
$ sam remote test-event put <arguments> <options>
```

## 인수
<a name="sam-cli-command-reference-remote-test-event-put-args"></a>

**리소스 ID**  <a name="sam-cli-command-reference-remote-test-event-put-args-resource-id"></a>
공유 가능한 테스트 이벤트와 연결된 AWS Lambda 함수의 ID입니다.  
논리적 ID를 제공하는 경우 `--stack-name` 옵션을 사용하여 Lambda 함수와 연결된 AWS CloudFormation 스택의 값도 제공해야 합니다.  
*유효한 값*: 리소스의 논리적 ID 또는 리소스 ARN.

## 옵션
<a name="sam-cli-command-reference-remote-test-event-put-options"></a>

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

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

`--file FILENAME`  <a name="sam-cli-command-reference-remote-test-event-put-options-file"></a>
로컬 기기에 있는 이벤트의 파일 경로 및 이름입니다.  
`-`로부터 읽어들일 파일 이름 값으로 `stdin`를 입력합니다.  
이 옵션은 필수입니다.

`--force`, `-f`  <a name="sam-cli-command-reference-remote-test-event-put-options-force"></a>
공유 가능한 테스트 이벤트를 같은 이름으로 덮어씁니다.

`--help, -h`  <a name="sam-cli-command-reference-remote-test-event-put-options-help"></a>
도움말 메시지를 표시한 후 종료합니다.

`--name TEXT`  <a name="sam-cli-command-reference-remote-test-event-put-options-name"></a>
공유 가능한 테스트 이벤트를 저장할 이름입니다.  
동일한 이름의 공유 가능한 테스트 이벤트가 EventBridge 스키마 레지스트리 AWS SAM CLI에 있는 경우는 이를 덮어쓰지 않습니다. 덮어쓰려면 `--force` 옵션을 추가하십시오. 

`--output-file FILENAME`  <a name="sam-cli-command-reference-remote-test-event-put-options-output-file"></a>
로컬 기기에 이벤트를 저장할 파일 경로와 이름입니다.  
이 옵션을 제공하지 않으면 AWS SAM CLI가 공유 가능한 테스트 이벤트의 내용을 콘솔에 출력합니다.

`--stack-name TEXT`  <a name="sam-cli-command-reference-remote-test-event-put-options-stack-name"></a>
Lambda 함수와 연결된 CloudFormation 스택의 이름입니다.  
Lambda 함수 논리 ID를 인수로 제공하는 경우 이 옵션이 필요합니다.

## 예제
<a name="sam-cli-command-reference-remote-test-event-put-examples"></a>

이 명령을 사용하는 예제는 [공유 가능한 테스트 이벤트 저장](using-sam-cli-remote-test-event.md#using-sam-cli-remote-test-event-use-put) 섹션을 참조하세요.

# 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) 섹션을 참조하세요.

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

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

에 대한 소개는 단원을 AWS SAM CLI참조하십시오. [란 무엇입니까 AWS SAM CLI?](what-is-sam-overview.md#what-is-sam-cli) 

`sam traces` 명령은의 AWS 계정 에서 AWS X-Ray 트레이스를 가져옵니다 AWS 리전.

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

```
$ sam traces <options>
```

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

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

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

`--end-time TEXT`  <a name="sam-cli-command-reference-sam-traces-options-end-time"></a>
이 시간까지의 추적을 가져옵니다. 시간은 ‘5분 전’, ‘내일’과 같은 상댓값이거나 ‘2018-01-01 10:10:10’과 같은 형식이 지정된 타임스탬프일 수 있습니다.

`--output TEXT`  <a name="sam-cli-command-reference-sam-traces-options-output"></a>
로그에 대한 출력 형식을 지정합니다. 형식이 지정된 로그를 인쇄하려면 `text`을 지정합니다. 로그를 JSON으로 인쇄하려면 `json`을 지정합니다.

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

`--start-time TEXT`  <a name="sam-cli-command-reference-sam-traces-options-start-time"></a>
이때부터 추적을 가져옵니다. 시간은 ‘5분 전’, ‘어제’와 같은 상댓값이거나 ‘2018-01-01 10:10:10’과 같은 형식이 지정된 타임스탬프일 수 있습니다. 기본값은 ‘10분 전’입니다.

`--tail`  <a name="sam-cli-command-reference-sam-traces-options-tail"></a>
추적 결과를 업데이트합니다. 이렇게 하면 엔드타임 인수가 무시되고 변경이 반영 가능할 때마다 계속 표시됩니다.

`--trace-id TEXT`  <a name="sam-cli-command-reference-sam-traces-options-trace-id"></a>
X-Ray 추적의 고유 식별자.

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

다음 명령을 실행하여 ID별로 X-Ray 추적을 가져옵니다.

```
$ sam traces --trace-id tracing-id-1 --trace-id tracing-id-2
```

다음 명령을 실행하여 X-Ray 추적을 사용할 수 있게 되면 이를 추적합니다.

```
$ sam traces --tail
```

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

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

에 대한 소개는 단원을 AWS SAM CLI참조하십시오. [란 무엇입니까 AWS SAM CLI?](what-is-sam-overview.md#what-is-sam-cli) 

`sam validate` 명령은 AWS SAM 템플릿 파일이 유효한지 확인합니다.

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

```
$ sam validate <options>
```

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

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

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

`--debug`  <a name="sam-cli-command-reference-sam-validate-options-debug"></a>
디버그 로깅을 켜서 AWS SAMCLI 에 의해 생성된 디버그 메시지를 인쇄하고 타임스탬프를 표시합니다.

`--lint`  <a name="sam-cli-command-reference-sam-validate-options-lint"></a>
 **cfn-lint**를 통해 템플릿에서 린팅검증을 실행합니다. `cfnlintrc` 구성 파일을 생성하여 추가 파라미터를 지정합니다. 자세한 내용은 *CloudFormation GitHub 리포지토리*의 [cfn-lint](https://github.com/aws-cloudformation/cfn-lint)를 참조하세요.

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

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

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

`--template-file, --template, -t PATH`  <a name="sam-cli-command-reference-sam-validate-options-template-file"></a>
 AWS SAM 템플릿 파일입니다. 기본값은 `template.[yaml|yml]`입니다.  
 템플릿이 현재 작업 디렉터리에 있고 `template.[yaml|yml|json]`으로 이름이 지정된 경우에는 이 옵션이 필요하지 않습니다.  
 방금 **sam build**를 실행한 경우에는 이 옵션이 필요하지 않습니다.

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

이 명령을 사용하여 템플릿을 검증하는 예제는 [AWS SAM 템플릿 파일 검증](serverless-sam-cli-using-validate.md) 섹션을 참조하세요.

cfn-lint에서 이 명령을 사용하는 예제는 [CloudFormation Linter를 사용하여 AWS SAM 애플리케이션 검증](validate-cfn-lint.md) 섹션을 참조하세요.

# AWS SAM CLI 관리
<a name="reference-sam-cli"></a>

이 섹션에는 버전을 관리하고 사용자 지정하는 방법에 대한 정보가 포함되어 있습니다 AWS SAM CLI. 여기에는 프로젝트 수준 구성 파일을 사용하여 AWS SAM CLI 명령 파라미터 값을 구성하는 방법에 대한 정보가 포함됩니다. 또한의 다양한 버전 관리 AWS SAM CLI,가 사용자를 대신하여 AWS 서비스를 호출할 AWS SAM 수 있도록 AWS 자격 증명 설정, 사용자 지정할 수 있는 다양한 방법에 대한 정보도 포함되어 있습니다 AWS SAM. 이 섹션은 일반적인 AWS SAM 문제 해결에 대한 섹션으로 끝납니다.

**Topics**
+ [AWS SAMCLI구성 파일](serverless-sam-cli-config.md)
+ [AWS SAM CLI 버전 관리](manage-sam-cli-versions.md)
+ [AWS 자격 증명 설정](serverless-getting-started-set-up-credentials.md)
+ [AWS SAM CLI 내 텔레메트리](serverless-sam-telemetry.md)
+ [AWS SAMCLI 문제 해결](sam-cli-troubleshooting.md)

# AWS SAMCLI구성 파일
<a name="serverless-sam-cli-config"></a>

 AWS Serverless Application Model 명령줄 인터페이스(AWS SAM CLI)는 명령 파라미터 값을 구성하는 AWS SAM CLI 데 사용할 수 있는 프로젝트 수준 구성 파일을 지원합니다.

구성 파일 작성 및 사용에 대한 설명서는 [AWS SAM CLI 구성](using-sam-cli-configure.md) 섹션을 참조하세요.

**Topics**
+ [기본 구성 파일 설정](#serverless-sam-cli-config-default)
+ [지원되는 구성 파일 형식](#serverless-sam-cli-config-formats)
+ [구성 파일을 지정합니다.](#serverless-sam-cli-config-specify)
+ [구성 파일 기본 사항](#serverless-sam-cli-config-basics)
+ [파라미터 값 규칙](#serverless-sam-cli-config-rules)
+ [구성 우선 순위](#serverless-sam-cli-config-precedence)
+ [구성 파일 생성 및 수정](#serverless-sam-cli-config-using)

## 기본 구성 파일 설정
<a name="serverless-sam-cli-config-default"></a>

AWS SAM 는 다음과 같은 기본 구성 파일 설정을 사용합니다.
+ **이름** – `samconfig`.
+ **위치** - 프로젝트의 루트에 있습니다. 이 위치는 귀하의 `template.yaml` 파일과 같은 위치입니다.
+ **포맷** - `TOML`. 자세한 내용은 *TOML설명서* 내 [TOML](https://toml.io/en/)를 참조하세요.

다음은 기본 구성 파일 이름 및 위치가 포함된 예제 프로젝트 구조입니다.

```
sam-app
├── README.md
├── __init__.py
├── events
├── hello_world
├── samconfig.toml
├── template.yaml
└── tests
```

다음은 `samconfig.toml` 파일의 예입니다.

```
...
version = 0.1

[default]
[default.global]
[default.global.parameters]
stack_name = "sam-app"

[default.build.parameters]
cached = true
parallel = true

[default.deploy.parameters]
capabilities = "CAPABILITY_IAM"
confirm_changeset = true
resolve_s3 = true

[default.sync.parameters]
watch = true

[default.local_start_api.parameters]
warm_containers = "EAGER"

[prod]
[prod.sync]
[prod.sync.parameters]
watch = false
```

## 지원되는 구성 파일 형식
<a name="serverless-sam-cli-config-formats"></a>

`TOML` 및 `[YAML|YML]` 형식이 지원됩니다. 다음 기본 명령문을 참조하세요.

### TOML
<a name="serverless-sam-cli-config-formats-toml"></a>

```
version = 0.1
[environment]
[environment.command]
[environment.command.parameters]
option = parameter value
```

### YAML
<a name="serverless-sam-cli-config-formats-yaml"></a>

```
version: 0.1
environment:
  command:
    parameters:
      option: parameter value
```

## 구성 파일을 지정합니다.
<a name="serverless-sam-cli-config-specify"></a>

기본적으로 AWS SAMCLI는 다음과 같은 순서로 구성 파일을 찾습니다.

1. **사용자 지정 구성 파일** - `--config-file` 옵션을 사용하여 파일 이름과 위치를 지정하는 경우, AWS SAMCLI는 이 파일을 먼저 찾습니다.

1. **기본 `samconfig.toml` 파일** - 이는 귀하의 프로젝트의 루트에 있는 기본 구성 파일 이름 및 형식입니다. 사용자 지정 구성 파일을 지정하지 않는 경우 AWS SAMCLI는 다음으로 이 파일을 찾습니다.

1. **`samconfig.[yaml|yml]`파일** – 귀하의 프로젝트 루트에 `samconfig.toml`이 없는 경우, AWS SAMCLI는 이 파일을 찾습니다.

다음은 `--config-file` 옵션을 사용하여 사용자 지정 구성 파일을 지정하는 예시입니다.

```
$ sam deploy --config-file myconfig.yaml
```

**참고**  
는 구성이 적용되는 컨텍스트를 결정해야 하므로 `--config-file` AWS SAM CLI 파라미터는 AWS SAM 템플릿 파일의 위치를 기준으로 해야 합니다. `samconfig.toml` 파일은 버전의 구성 설정을 관리하며 AWS SAM CLICLI는 `samconfig.toml` 파일의 상대적 폴더에서 `template.yaml` 파일(또는 재정의된 구성 파일 파라미터)을 찾습니다.

## 구성 파일 기본 사항
<a name="serverless-sam-cli-config-basics"></a>

### 환경
<a name="serverless-sam-cli-config-basics-environment"></a>

**환경**은 고유한 구성 설정 세트를 포함하는 명명된 식별자입니다. 단일 AWS SAM 애플리케이션에 여러 환경을 보유할 수 있습니다.

환경 이름 기본은 `default`입니다.

`--config-env` 옵션을 사용하여 AWS SAM CLI 사용할 환경을 지정합니다.

### 명령
<a name="serverless-sam-cli-config-basics-command"></a>

**명령**은 파라미터 값을 지정하는 AWS SAMCLI 명령입니다.

모든 명령의 파라미터 값을 지정하려면 `global` 식별자를 사용합니다.

 AWS SAMCLI명령을 참조할 때는 공백(` `)과 하이픈(`–`)을 밑줄(`_`)로 바꿉니다. 다음 예를 참조하세요.
+ `build`
+ `local_invoke`
+ `local_start_api`

### Parameters
<a name="serverless-sam-cli-config-basics-parameters"></a>

**파라미터**는 키-값 페어로 지정됩니다.
+ **키**는 AWS SAMCLI명령 옵션 이름입니다. 
+ **값**은 지정할 값입니다.

키를 지정할 때는 긴 형식의 명령 옵션 이름을 사용하고 하이픈(`–`)을 밑줄(`_`)로 바꿉니다. 예를 들어, 다음과 같습니다.
+ `region`
+ `stack_name`
+ `template_file`

## 파라미터 값 규칙
<a name="serverless-sam-cli-config-rules"></a>

### TOML
<a name="serverless-sam-cli-config-rules-toml"></a>
+ 부울 값은 `true` 또는 `false`일 수 있습니다. 예를 들어 `confirm_changeset = true`입니다.
+ 문자열 값에는 따옴표(`""`)를 사용합니다. 예를 들어 `region = "us-west-2"`입니다.
+ 목록 값에는 따옴표(`""`)를 사용하고 공백(` `)을 사용하여 각 값을 구분합니다. 예를 들어 `capabilities = "CAPABILITY_IAM CAPABILITY_NAMED_IAM"`입니다.
+ 키-값 쌍의 목록이 포함된 값의 경우 쌍은 공백으로 구분되고(` `) 각 쌍의 값은 인코딩된 따옴표(`\" \"`) 로 묶습니다. 예를 들어 `tags = "project=\"my-application\" stage=\"production\""`입니다.
+ 여러 번 지정할 수 있는 파라미터 값의 경우, 값은 인수의 배열입니다. 예를 들어 `image_repositories = ["my-function-1=image-repo-1", "my-function-2=image-repo-2"]`입니다.

### YAML
<a name="serverless-sam-cli-config-rules-yaml"></a>
+ 부울 값은 `true` 또는 `false`일 수 있습니다. 예를 들어 `confirm_changeset: true`입니다.
+ 단일 문자열 값을 포함하는 항목의 경우 따옴표(`""`)는 선택 사항입니다. 예를 들어 `region: us-west-2`입니다. 여기에는 단일 문자열로 제공되는 여러 키-값 쌍을 포함하는 항목이 포함됩니다. 다음은 예제입니다.

  ```
  $ sam deploy --tags "foo=bar hello=world"
  ```

  ```
  default:
    deploy:
      parameters:
        tags: foo=bar hello=world
  ```
+ 값 목록이 포함된 항목 또는 단일 명령으로 여러 번 사용할 수 있는 항목의 경우 해당 항목을 문자열 목록으로 지정합니다.

  다음은 예제입니다.

  ```
  $ sam remote invoke --parameter "InvocationType=Event" --parameter "LogType=None"
  ```

  ```
  default:
    remote_invoke:
      parameters:
          parameter:
          - InvocationType=Event
          - LogType=None
  ```

## 구성 우선 순위
<a name="serverless-sam-cli-config-precedence"></a>

값을 구성할 때는 다음과 같은 우선 순위가 적용됩니다.
+ 명령줄에서 제공하는 파라미터 값은 템플릿 파일의 구성 파일 및 `Parameters` 섹션에 있는 해당 값보다 우선합니다.
+ 명령줄이나 구성 파일에서 `parameter_overrides` 키와 함께 `--parameter-overrides` 옵션을 사용하는 경우 해당 값이 템플릿 파일 `Parameters` 섹션의 값보다 우선합니다.
+ 구성 파일에서 특정 명령에 대해 제공된 항목이 글로벌 항목보다 우선합니다. 다음 예제에서 `sam deploy` 명령은 `my-app-stack` 스택 이름을 사용합니다.

------
#### [ TOML ]

  ```
  [default.global.parameters]
  stack_name = "common-stack"
  
  [default.deploy.parameters]
  stack_name = "my-app-stack"
  ```

------
#### [ YAML ]

  ```
  default:
    global:
      parameters:
        stack_name: common-stack
    deploy:
      parameters:
        stack_name: my-app-stack
  ```

------

## 구성 파일 생성 및 수정
<a name="serverless-sam-cli-config-using"></a>

### 구성 파일 생성
<a name="serverless-sam-cli-config-using-create"></a>

`sam init`를 사용하여 애플리케이션을 만들면 기본으로 `samconfig.toml` 파일이 생성됩니다. 구성 파일을 수동으로 생성할 수도 있습니다.

### 구성 파일 수정
<a name="serverless-sam-cli-config-using-modify"></a>

구성 파일을 수동으로 수정할 수 있습니다. 또한 모든 AWS SAMCLI 대화형 흐름 중에 구성된 값은 대괄호(`[ ]`) 안에 표시됩니다. 이 값을 수정하면 AWS SAMCLI는 구성 파일을 업데이트합니다.

다음은 `sam deploy --guided` 명령을 사용하는 대화형 흐름의 예입니다.

```
$ sam deploy --guided

Configuring SAM deploy
======================

    Looking for config file [samconfig.toml] :  Found
    Reading default arguments  :  Success

    Setting default arguments for 'sam deploy'
    =========================================
    Stack Name [sam-app]: ENTER
    AWS Region [us-west-2]: ENTER
    #Shows you resources changes to be deployed and require a 'Y' to initiate deploy
    Confirm changes before deploy [Y/n]: n
    #SAM needs permission to be able to create roles to connect to the resources in your template
    Allow SAM CLI IAM role creation [Y/n]: ENTER
    #Preserves the state of previously provisioned resources when an operation fails
    Disable rollback [y/N]: ENTER
    HelloWorldFunction may not have authorization defined, Is this okay? [y/N]: y
    Save arguments to configuration file [Y/n]: ENTER
    SAM configuration file [samconfig.toml]: ENTER
    SAM configuration environment [default]: ENTER
```

구성 파일을 수정할 때 AWS SAMCLI는 다음과 같이 글로벌 값을 처리합니다.
+ 파라미터 값이 구성 파일 `global` 섹션에 있는 경우 AWS SAMCLI는 해당 값을 특정 명령 섹션에 기록하지 않습니다.
+ 파라미터 값이 특정 명령 `global` 섹션과 특정 명령 섹션 모두에 있는 경우 AWS SAMCLI는 특정 항목을 삭제하고 글로벌 값을 취합니다.

# AWS SAM CLI 버전 관리
<a name="manage-sam-cli-versions"></a>

업그레이드, 다운그레이드 및 제거를 통해 AWS Serverless Application Model 명령줄 인터페이스(AWS SAM CLI) 버전을 관리합니다. 선택에 따라, AWS SAMCLI nightly build로 다운로드하고 설치할 수 있습니다. 

**Topics**
+ [AWS SAMCLI업그레이드](#manage-sam-cli-versions-upgrade)
+ [AWS SAM CLI 제거](#manage-sam-cli-versions-uninstall)
+ [Homebrew 사용에서 AWS SAMCLI 관리로 전환](#manage-sam-cli-versions-switch)
+ [AWS SAMCLI의 nightly build 관리](#manage-sam-cli-versions-nightly-build)
+ [AWS SAM을 이용하여 가상 환경에 CLI pip 설치](#manage-sam-cli-versions-install-virtual)
+ [AWS SAM로 CLI Homebrew 관리](#manage-sam-cli-versions-homebrew)
+ [문제 해결](#manage-sam-cli-versions-troubleshoot)

## AWS SAMCLI업그레이드
<a name="manage-sam-cli-versions-upgrade"></a>

### Linux
<a name="manage-sam-cli-versions-upgrade-linux"></a>

Linux에서 AWS SAMCLI를 업그레이드하려면 [AWS SAMCLI의 설치](install-sam-cli.md#install-sam-cli-instructions)의 설치 지침을 따르되, 다음과 같이 설치 명령에 `--update` 옵션을 추가합니다.

```
sudo ./sam-installation/install --update
```

### macOS
<a name="manage-sam-cli-versions-upgrade-macos"></a>

는 AWS SAM CLI 설치하는 데 사용한 것과 동일한 방법을 통해 업그레이드해야 합니다. 패키지 설치 관리자를 사용하여를 설치하고 업그레이드하는 것이 좋습니다 AWS SAM CLI.

 패키지 설치 프로그램을 사용하여 AWS SAMCLI를 업그레이드하려면 최신 패키지 버전을 설치하십시오. 지침은 [AWS SAMCLI의 설치](install-sam-cli.md#install-sam-cli-instructions) 섹션을 잠조하세요.

### Windows
<a name="manage-sam-cli-versions-upgrade-windows"></a>

를 업그레이드하려면의 Windows 설치 단계를 [AWS SAM CLI 설치](install-sam-cli.md) 다시 AWS SAM CLI반복합니다.

## AWS SAM CLI 제거
<a name="manage-sam-cli-versions-uninstall"></a>

### Linux
<a name="manage-sam-cli-versions-uninstall-linux"></a>

Linux에서 AWS SAM CLI를 제거하려면 다음 명령을 실행하여 symlink 및 설치 디렉터리를 삭제해야 합니다.

1. symlink 및 설치 경로를 찾습니다.
   + **which** 명령을 사용하여 symlink를 찾습니다.

     ```
     which sam
     ```

     출력에는 AWS SAM 바이너리가 있는 경로가 표시됩니다. 예를 들면 다음과 같습니다.

     ```
      /usr/local/bin/sam
     ```
   + **ls** 명령을 사용하여 symlink가 가리키는 디렉터리를 찾습니다.

     ```
     ls -l /usr/local/bin/sam
     ```

     다음 예제에서 설치 디렉터리는 `/usr/local/aws-sam-cli`입니다.

     ```
      lrwxrwxrwx 1 ec2-user ec2-user 49 Oct 22 09:49 /usr/local/bin/sam -> /usr/local/aws-sam-cli/current/bin/sam
     ```

1. symlink를 삭제합니다.

   ```
   sudo rm /usr/local/bin/sam
   ```

1. 설치 디렉터리를 삭제합니다.

   ```
   sudo rm -rf /usr/local/aws-sam-cli
   ```

### macOS
<a name="manage-sam-cli-versions-uninstall-macos"></a>

설치에 사용한 것과 동일한 방법을 사용하여 AWS SAMCLI를 제거합니다. 패키지 설치 관리자를 사용하여를 설치하는 것이 좋습니다 AWS SAM CLI.

패키지 설치 프로그램을 사용하여 AWS SAMCLI를 설치한 경우 다음 단계에 따라 제거하십시오.

**AWS SAMCLI 제거하기**

1.  다음을 수정하고 실행하여 AWS SAMCLI 프로그램을 제거합니다.

   ```
   $ sudo rm -rf /path-to/aws-sam-cli
   ```

   1.  *sudo* – 사용자에게 AWS SAMCLI 프로그램이 설치된 위치에 대한 쓰기 권한이 있는 경우 **sudo**는 필요하지 않습니다. 그렇지 않으면 **sudo**이 필요합니다.

   1.  *path-to* - AWS SAMCLI 프로그램을 설치한 위치의 경로. 기본 위치는 `/usr/local`입니다.

1.  다음을 수정하고 실행`$PATH`하여 AWS SAM CLI를 제거합니다.

   ```
   $ sudo rm -rf /path-to-symlink-directory/sam
   ```

   1.  *sudo* – 사용자에게 `$PATH`에 대한 쓰기 권한이 있는 경우에는 **sudo**은 필요하지 않습니다. 그렇지 않으면 **sudo**이 필요합니다.

   1.  *path-to-symlink-directory* – 귀하의 `$PATH` 환경 변수입니다. 기본 위치는 `/usr/local/bin`입니다.

1.  다음을 실행하여 AWS SAMCLI가 제거되었는지 확인합니다.

   ```
   $ sam --version
   command not found: sam
   ```

### Windows
<a name="manage-sam-cli-versions-uninstall-windows"></a>

Windows 설정을 사용하여 AWS SAMCLI를 제거하려면 다음 단계를 따르십시오.

1. 시작 메뉴에서 “프로그램 추가 또는 제거”를 검색합니다.

1. **AWS SAM 명령줄 인터페이스**라는 결과 항목을 선택한 다음 **제거**를 선택하여 제거 프로그램을 작동시킵니다.

1. 를 제거할지 확인합니다 AWS SAM CLI.

## Homebrew 사용에서 AWS SAMCLI 관리로 전환
<a name="manage-sam-cli-versions-switch"></a>

Homebrew를 사용하여를 설치하고 업그레이드하는 AWS 경우 지원되는 방법을 사용하는 AWS SAM CLI것이 좋습니다. 지원되는 방법으로 전환하려면 다음 지침을 따르십시오.

**Homebrew 사용에서 전환하기**

1. [Homebrew 설치된 AWS SAM CLI 제거](#manage-sam-cli-versions-homebrew-uninstall)의 지침에 따라 Homebrew 관리형 버전을 제거합니다.

1. [AWS SAM CLI 설치](install-sam-cli.md)의 지침에 따라 지원되는 방법을 사용하여 AWS SAM CLI를 설치합니다.

## AWS SAMCLI의 nightly build 관리
<a name="manage-sam-cli-versions-nightly-build"></a>

 AWS SAM CLI nightly build를 다운로드 및 설치할 수 있습니다. 여기에는 생산용 버전보다 안정성이 떨어질 수 있는 시험판 버전의 AWS SAMCLI 코드가 포함되어 있습니다. 설치되면 `sam-nightly` 명령과 함께 자동 빌드를 사용할 수 있습니다. AWS SAMCLI의 생산용 버전과 nightly build 버전을 동시에 설치하여 사용할 수 있습니다. 

**참고**  
nightly build에는 시험판 버전의 빌드 이미지가 포함되어 있지 않습니다. 따라서 **--use-container** 옵션을 사용하여 서버리스 애플리케이션을 빌드할 때는 빌드 이미지의 최신 프로덕션 버전을 사용합니다.

### AWS SAMCLI nightly build 설치
<a name="manage-sam-cli-versions-nightly-build-install"></a>

 AWS SAMCLI nightly build를 설치하려면 다음 지침을 따르십시오.

#### Linux
<a name="manage-sam-cli-versions-nightly-build-install-linux"></a>

패키지 설치 프로그램을 사용하여 AWS SAM x86\$164 플랫폼에 CLI Linux의 nightly build 버전을 설치할 수 있습니다.

**AWS SAMCLI nightly build 설치하기**

1. [aws-sam-cli 리포지토리](https://github.com/aws/aws-sam-cli/releases/sam-cli-nightly/)의 *sam-cli-nightlyGitHub*에서 패키지 설치 프로그램을 다운로드하십시오. 

1. [설치 AWS SAMCLI](install-sam-cli.md)단계를 따라 자동 빌드 패키지를 설치합니다. 

#### macOS
<a name="manage-sam-cli-versions-nightly-build-install-macos"></a>

자동 빌드 패키지 설치 프로그램을 사용하여 AWS SAMCLI의 nightly build 버전을 macOS상에 설치할 수 있습니다.

**AWS SAMCLI nightly build 설치하기**

1. [aws-sam-cli 리포지토리](https://github.com/aws/aws-sam-cli/releases/sam-cli-nightly/)의 *sam-cli-nightlyGitHub*에서 플랫폼을 위한 패키지 설치 프로그램을 다운로드하십시오. 

1. [설치 AWS SAMCLI](install-sam-cli.md)단계를 따라 자동 빌드 패키지를 설치합니다. 

#### Windows
<a name="manage-sam-cli-versions-nightly-build-windows"></a>

 AWS SAM CLI의 nightly build 버전은 [AWS SAM CLI 자동 빌드](https://github.com/aws/aws-sam-cli/releases/download/sam-cli-nightly/AWS_SAM_CLI_64_PY3.msi) 다운로드 링크에서 이용할 수 있습니다. Windows에 자동 빌드를 설치하려면 [AWS SAM CLI 설치](install-sam-cli.md)에서와 동일한 단계를 수행하되, nightly build 다운로드 링크를 대신 사용하십시오.

자동 빌드 버전을 설치했는지 확인하려면 **sam-nightly --version** 명령을 실행합니다. 이 명령의 출력 결과는 `1.X.Y.dev<YYYYMMDDHHmm>`의 형식으로 표시됩니다. 예를 들면 다음과 같습니다.

```
SAM CLI, version 1.20.0.dev202103151200
```

### Homebrew에서 패키지 설치 프로그램으로 전환
<a name="manage-sam-cli-versions-nightly-build-switch"></a>

Homebrew을 사용하여 AWS SAMCLI 자동 빌드를 설치 및 업그레이드하다가 패키지 설치 프로그램 사용으로 전환하려면 다음 단계를 따르십시오.

**Homebrew에서 패키지 설치 프로그램으로 전환하기**

1. Homebrew AWS SAM nightly build가 설치된 CLI을 제거합니다.

   ```
   $ brew uninstall aws-sam-cli-nightly
   ```

1. 다음을 실행하여 AWS SAMCLI nightly build가 제거되었는지 확인하십시오.

   ```
   $ sam-nightly --version
   zsh: command not found: sam-nightly
   ```

1. 이전 섹션의 단계에 따라 AWS SAMCLI 자동 빌드를 설치하십시오. 

## AWS SAM을 이용하여 가상 환경에 CLI pip 설치
<a name="manage-sam-cli-versions-install-virtual"></a>

네이티브 패키지 설치 관리자를 사용하여를 설치하는 것이 좋습니다 AWS SAM CLI. pip을 사용해야 한다면, AWS SAM CLI을 가상 환경으로 설치할 것을 권장합니다. 이렇게 하면 설치 환경이 깔끔해지고 오류 발생 시 격리된 환경이 보장됩니다.

**참고**  
2023년 10월 24일부터는에 AWS SAM CLI 대한 지원을 중단합니다Python 3.7. 자세한 내용은 [AWS SAMCLI가 Python 3.7에 대한 지원 중단](important-notes.md#important-notes-2023-10-python)을 잠조하세요.

**가상 환경에 AWS SAMCLI 설치하기**

1. 선택한 시작 디렉터리를 사용하여 가상 환경을 생성하고 이름을 지정합니다.

------
#### [ Linux / macOS ]

   ```
   $ mkdir project
   $ cd project
   $ python3 -m venv venv
   ```

------
#### [ Windows ]

   ```
   > mkdir project
   > cd project
   > py -3 -m venv venv
   ```

------

1. 가상 환경 활성화

------
#### [ Linux / macOS ]

   ```
   $ . venv/bin/activate
   ```

   프롬프트가 변경되어 가상 환경이 활성임을 보여줍니다.

   ```
   (venv) $ 
   ```

------
#### [ Windows ]

   ```
   > venv\Scripts\activate
   ```

   프롬프트가 변경되어 가상 환경이 활성임을 보여줍니다.

   ```
   (venv) > 
   ```

------

1. 가상 환경에 AWS SAMCLI을 설치합니다.

   ```
   (venv) $ pip install --upgrade aws-sam-cli
   ```

1.  AWS SAMCLI이 올바르게 설치되었는지 확인합니다.

   ```
   (venv) $ sam --version
   SAM CLI, version 1.94.0
   ```

1. `deactivate` 명령을 사용하여 가상 환경을 종료할 수 있습니다. 새 세션을 시작할 때마다 환경을 다시 활성화해야 합니다.

## AWS SAM로 CLI Homebrew 관리
<a name="manage-sam-cli-versions-homebrew"></a>

**참고**  
2023년 9월부터 AWS 는 더 이상 ()에 대한 AWS 관리형 Homebrew 설치 관리자를 AWS SAM CLI 유지 관리하지 않습니다`aws/tap/aws-sam-cli`. Homebrew을 계속 사용하려면, 커뮤니티 관리형 설치 프로그램(`aws-sam-cli`)을 사용하실 수 있습니다. 2023년 9월부터 Homebrew를 참조하는 모든 `aws/tap/aws-sam-cli` 명령이 `aws-sam-cli`으로 리디렉션됩니다.  
지원되는 [설치](install-sam-cli.md) 및 [업그레이드](#manage-sam-cli-versions-upgrade) 방법을 사용하는 것이 좋습니다.

### AWS SAM을 사용하여 CLI Homebrew 설치
<a name="manage-sam-cli-versions-homebrew-install"></a>

**참고**  
이 지침은 커뮤니티 관리 AWS SAM CLI형 Homebrew 설치 관리자를 사용합니다. 추가 지원이 필요하면 *[homebrew-core](https://github.com/Homebrew/homebrew-core/issues) 리포지토리*를 잠조하세요.

**AWS SAMCLI 설치하기**

1. 다음을 실행합니다.

   ```
   $ brew install aws-sam-cli
   ```

1. 설치를 확인합니다.

   ```
   $ sam --version
   ```

   를 성공적으로 설치하면 다음과 같은 출력이 표시됩니다 AWS SAM CLI.

   ```
   SAM CLI, version 1.94.0
   ```

### AWS SAM을 사용하여 CLI Homebrew 업그레이드
<a name="manage-sam-cli-versions-homebrew-upgrade"></a>

 AWS SAM을 사용하여 CLI Homebrew을 업그레이드하려면, 다음 명령을 실행합니다.

```
$ brew upgrade aws-sam-cli
```

### Homebrew 설치된 AWS SAM CLI 제거
<a name="manage-sam-cli-versions-homebrew-uninstall"></a>

 AWS SAM을 사용하여 CLI Homebrew가 설치된 경우, 다음 단계에 따라 제거하십시오.

**AWS SAM CLI 제거하기**

1. 다음을 실행합니다.

   ```
   $ brew uninstall aws-sam-cli
   ```

1. 다음을 실행하여 AWS SAMCLI가 제거되었는지 확인합니다.

   ```
   $ sam --version
   command not found: sam
   ```

### 커뮤니티 관리형 Homebrew 설치 프로그램으로 전환
<a name="manage-sam-cli-versions-homebrew-switch"></a>

 AWS 관리형 Homebrew 설치 관리자(`aws/tap/aws-sam-cli`)를 사용하고를 계속 사용하려는 경우 커뮤니티 관리형 Homebrew 설치 관리자()로 전환하는 Homebrew것이 좋습니다`aws-sam-cli`.

단일 명령으로 전환하려면 다음을 실행하십시오.

```
$ brew uninstall aws-sam-cli && brew untap aws/tap && brew cleanup aws/tap && brew update && brew install aws-sam-cli
```

다음 지침에 따라 각 명령을 개별적으로 실행하십시오.

**커뮤니티 관리형 Homebrew 설치 프로그램으로 전환하기**

1. 의 AWS 관리형 Homebrew 버전을 제거합니다 AWS SAM CLI.

   ```
   $ brew uninstall aws-sam-cli
   ```

1.  AWS SAMCLI가 제거되었는지 확인합니다.

   ```
   $ which sam
   sam not found
   ```

1.  AWS 관리 AWS SAM CLI형 탭을 제거합니다.

   ```
   $ brew untap aws/tap
   ```

   다음과 같은 오류가 발생하는 경우 `--force` 옵션을 추가하고 다시 시도하십시오.

   ```
   Error: Refusing to untap aws/tap because it contains the following installed formulae or casks:
   aws-sam-cli-nightly
   ```

1.  AWS 관리형 설치 관리자에 대해 캐시된 파일을 제거합니다.

   ```
   $ brew cleanup aws/tap
   ```

1. Homebrew 및 모든 공식 업데이트:

   ```
   $ brew update
   ```

1. 의 커뮤니티 관리형 버전을 설치합니다 AWS SAM CLI.

   ```
   $ brew install aws-sam-cli
   ```

1.  AWS SAMCLI의 설치가 성공적인지 확인합니다.

   ```
   $ sam --version
   SAM CLI, version 1.94.0
   ```

## 문제 해결
<a name="manage-sam-cli-versions-troubleshoot"></a>

를 설치하거나 사용할 때 오류가 발생하면 단원을 AWS SAM CLI참조하십시오[AWS SAMCLI 문제 해결](sam-cli-troubleshooting.md).

# AWS 자격 증명 설정
<a name="serverless-getting-started-set-up-credentials"></a>

 AWS SAM 명령줄 인터페이스(CLI)에서는 사용자를 대신하여 AWS 서비스를 호출할 수 있도록 AWS 자격 증명을 설정해야 합니다. 예를 들어는 AWS SAM CLI Amazon S3 및를 호출합니다 CloudFormation.

SDKs 또는와 AWS 같은 AWS 도구에서 작동하도록 자격 AWS 증명을 이미 설정했을 수 있습니다 AWS CLI. 그렇지 않은 경우이 주제에서는 자격 AWS 증명을 설정하기 위한 권장 접근 방식을 보여줍니다.

 AWS 자격 증명을 설정하려면 구성하려는 IAM 사용자의 *액세스 키 ID*와 *보안 액세스 키*가 있어야 합니다. 액세스 키 및 비밀 액세스 키에 대한 자세한 내용은 [IAM 사용자 가이드](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_access-keys.html)의 *IAM 사용자를 위한 액세스 키 관리*를 잠조하세요.

그런 다음가 AWS CLI 설치되어 있는지 확인합니다. 그런 다음 아래 항목들 중 하나의 설정 지침을 따릅니다.

## 사용 AWS CLI
<a name="serverless-getting-started-set-up-credentials-cli"></a>

가 AWS CLI 설치된 경우 `aws configure` 명령을 사용하고 프롬프트를 따릅니다.

```
$ aws configure
AWS Access Key ID [None]: your_access_key_id
AWS Secret Access Key [None]: your_secret_access_key
Default region name [None]: 
Default output format [None]:
```

`aws configure` 명령에 대한 자세한 내용은 [AWS CLI사용자 가이드](https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-configure.html#cli-quick-configuration)의 *AWS Command Line Interface 빠른 구성*을 잠조하세요. 

## 를 사용하지 않음 AWS CLI
<a name="serverless-getting-started-set-up-credentials-no-cli"></a>

가 AWS CLI 설치되어 있지 않은 경우 자격 증명 파일을 생성하거나 환경 변수를 설정할 수 있습니다.
+ **자격 증명 파일** - 로컬 시스템의 자격 증명 파일에서 AWS 자격 증명을 설정할 수 있습니다. 이 파일은 다음 중 한 곳에 있어야 합니다.
  + Linux 또는 macOS에서 `~/.aws/credentials`
  + Windows에서 `C:\Users\USERNAME\.aws\credentials`

  이 파일에는 다음 형식의 행이 포함되어야 합니다.

  ```
  [default]
  aws_access_key_id = your_access_key_id
  aws_secret_access_key = your_secret_access_key
  ```

   
+ **환경 변수** – `AWS_ACCESS_KEY_ID`및 `AWS_SECRET_ACCESS_KEY`환경 변수를 설정할 수 있습니다.

  Linux 또는 macOS에서 이러한 변수를 설정하려면 **내보내기** 명령을 사용하십시오.

  ```
  export AWS_ACCESS_KEY_ID=your_access_key_id
  export AWS_SECRET_ACCESS_KEY=your_secret_access_key
  ```

  Windows에서 이러한 변수를 설정하려면 **설정** 명령을 사용하십시오.

  ```
  set AWS_ACCESS_KEY_ID=your_access_key_id
  set AWS_SECRET_ACCESS_KEY=your_secret_access_key
  ```

# AWS SAM CLI 내 텔레메트리
<a name="serverless-sam-telemetry"></a>

에서는 고객과의 상호 작용에서 배운 내용을 기반으로 서비스를 AWS개발하고 시작합니다. 우리는 고객 피드백을 바탕으로 제품을 반복적으로 개선해 나갑니다. 원격 측정 데이터는 가 사용자의 요구 사항을 더 잘 이해하고, 문제를 진단하고, 의 경험을 개선할 기능을 제공하는 데 도움이 되는 추가 정보입니다.

 AWS SAM 명령줄 인터페이스(CLI)는 일반 사용 지표, 시스템 및 환경 정보, 오류와 같은 원격 측정을 수집합니다. 수집되는 텔레메트리 유형에 대한 자세한 내용은 [수집되는 정보의 유형](#serverless-sam-telemtry-data-collected) 섹션을 참조하세요.

 AWS SAMCLI는 사용자 이름이나 이메일 주소와 같은 개인 정보는 수집하지 **않습니다**. 또한 민감한 프로젝트 수준 정보를 추출하지 않습니다.

고객은 텔레메트리 사용 여부를 제어하고 언제든지 설정을 변경할 수 있습니다. 텔레메트리가 켜져 있는 경우 AWS SAMCLI는 추가 고객 상호 작용 없이 백그라운드에서 텔레메트리 데이터를 전송합니다.

## 세션에 대한 텔레메트리 끄기
<a name="serverless-sam-telemtry-opt-out"></a>

macOS 및 Linux 운영 체제에서는 단일 세션에 대한 텔레메트리를 끌 수 있습니다. 현재 세션의 텔레메트리를 끄려면 다음 명령을 실행하여 환경 변수 `SAM_CLI_TELEMETRY`를 `false`로 설정합니다. 각 새 터미널 또는 세션에 대해 명령을 반복합니다.

```
export SAM_CLI_TELEMETRY=0
```

## 모든 세션에서 사용자 프로필에 대한 텔레메트리 끄기
<a name="serverless-sam-telemtry-opt-out-profile"></a>

운영 체제에서 AWS SAMCLI를 실행할 때 다음 명령을 실행하여 모든 세션의 텔레메트리를 끕니다.

### Linux에서 텔레메트리를 끄려면
<a name="w2aac28c19c16c15b5"></a>

1. 실행합니다.

   ```
   echo "export SAM_CLI_TELEMETRY=0" >>~/.profile
   ```

1. 실행합니다.

   ```
   source ~/.profile
   ```

### macOS에서 텔레메트리를 끄려면
<a name="w2aac28c19c16c15b7"></a>

1. 실행합니다.

   ```
   echo "export SAM_CLI_TELEMETRY=0" >>~/.profile
   ```

1. 실행합니다.

   ```
   source ~/.profile
   ```

### Windows에서 텔레메트리를 끄려면
<a name="w2aac28c19c16c15b9"></a>

다음 명령을 사용하여 터미널 창의 수명 동안 일시적으로 환경 변수를 설정할 수 있습니다.

명령 프롬프트를 사용하는 경우:

```
set SAM_CLI_TELEMETRY=0
```

PowerShell을 사용하는 경우:

```
$env:SAM_CLI_TELEMETRY=0
```

명령 프롬프트 또는 PowerShell에서 환경 변수를 영구적으로 설정하려면 다음 명령을 사용합니다.

```
setx SAM_CLI_TELEMETRY 0
```

**참고**  
터미널을 닫고 다시 열기 전에는 변경 사항이 적용되지 않습니다.

## 수집되는 정보의 유형
<a name="serverless-sam-telemtry-data-collected"></a>
+ **사용 정보** - 고객이 실행하는 일반 명령 및 하위 명령.
+ **오류 및 진단 정보** - 종료 코드, 내부 예외 이름, Docker 연결 시 실패 등 고객이 실행하는 명령의 상태 및 기간.
+ **시스템 및 환경 정보** - Python 버전, 운영 체제(Windows, Linux 또는 macOS),가 AWS SAM CLI 실행되는 환경(예: AWS CodeBuild AWS IDE 도구 키트 또는 터미널), 사용 속성의 해시 값입니다.

## 자세히 알아보기
<a name="serverless-sam-telemtry-learn-more"></a>

가 AWS SAM CLI 수집하는 원격 측정 데이터는 AWS 데이터 개인 정보 보호 정책을 준수합니다. 자세한 내용은 다음을 참조하세요.
+ [AWS 서비스 약관](https://aws.amazon.com/service-terms/)
+ [데이터 프라이버시 FAQ](https://aws.amazon.com/compliance/data-privacy-faq/)

# AWS SAMCLI 문제 해결
<a name="sam-cli-troubleshooting"></a>

이 섹션에서는 AWS Serverless Application Model 명령줄 인터페이스()를 사용, 설치 및 관리할 때 오류 메시지를 해결하는 방법에 대한 세부 정보를 제공합니다AWS SAM CLI.

**Topics**
+ [문제 해결](#install-sam-cli-troubleshooting)
+ [오류 메시지](#sam-cli-troubleshoot-messages)
+ [경고 메시지](#sam-cli-troubleshoot-warning)

## 문제 해결
<a name="install-sam-cli-troubleshooting"></a>

관련 문제 해결 지침은 섹션을 AWS SAM CLI참조하세요[설치 오류 문제 해결](install-sam-cli.md#sam-cli-troubleshoot-install).

## 오류 메시지
<a name="sam-cli-troubleshoot-messages"></a>

### curl 오류: “curl: (6) 해결할 수 없습니다:...”
<a name="sam-cli-troubleshoot-messages-curl"></a>

API Gateway 엔드포인트를 호출하려고 하면 다음 오류가 표시됩니다.

```
curl: (6) Could not resolve: endpointdomain (Domain name not found)
```

이는 유효하지 않은 도메인으로 요청을 보내려고 시도했음을 의미합니다. 이는 서버리스 애플리케이션이 성공적으로 배포되지 않았거나 **curl** 명령에 오타가 있는 경우 발생할 수 있습니다. CloudFormation 콘솔 또는를 사용하여 애플리케이션이 성공적으로 배포되었는지 AWS CLI확인하고 **curl** 명령이 올바른지 확인합니다.

### 오류: 지정된 스택 이름으로 정확한 리소스 정보를 찾을 수 없습니다.
<a name="sam-cli-troubleshoot-messages-exact-resource"></a>

단일 Lambda 함수 리소스가 포함된 애플리케이션에서 `sam remote invoke` 명령을 실행하면 다음 오류가 표시됩니다.

```
Error: Can't find exact resource information with given <stack-name>. Please provide full resource ARN or --stack-name to resolve the ambiguity.
```

**가능한 원인: `--stack-name` 옵션을 제공하지 않았습니다.**  
함수 ARN이 인수로 제공되지 않은 경우 `sam remote invoke` 명령을 실행하려면 `--stack-name` 옵션을 제공해야 합니다.

**해결 방법: `--stack-name` 옵션을 제공합니다.**  
다음은 예제입니다.  

```
$ sam remote invoke --stack-name sam-app

Invoking Lambda Function HelloWorldFunction                                                                                                                                                                                                                     
START RequestId: 40593abb-e1ad-4d99-87bd-ac032e364e82 Version: $LATEST
END RequestId: 40593abb-e1ad-4d99-87bd-ac032e364e82
REPORT RequestId: 40593abb-e1ad-4d99-87bd-ac032e364e82  Duration: 11.31 ms      Billed Duration: 12 ms  Memory Size: 128 MB     Max Memory Used: 67 MB  Init Duration: 171.71 ms
{"statusCode":200,"body":"{\"message\":\"hello world\"}"}%
```

### 오류: 스택 이름에서 리소스 정보를 찾을 수 없습니다.
<a name="sam-cli-troubleshoot-messages-stack-name"></a>

`sam remote invoke` 명령을 실행하고 Lambda 함수 ARN을 인수로 전달하면 다음 오류가 표시됩니다.

```
Error: Can't find resource information from stack name (<stack-name>) and resource id (<function-id>)
```

**가능한 원인: `samconfig.toml` 파일에 스택 이름 값이 정의되어 있습니다.**  
 AWS SAMCLI는 먼저 `samconfig.toml` 파일에 스택 이름이 있는지 확인합니다. 지정된 경우 인수는 논리적 ID 값으로 전달됩니다.

**해결 방법: 함수의 논리적 ID를 대신 전달합니다.**  
함수의 ARN 대신 함수의 논리적 ID를 인수로 전달할 수 있습니다.

**해결 방법: 구성 파일에서 스택 이름 값을 제거합니다.**  
구성 파일에서 스택 이름 값을 제거할 수 있습니다. 이렇게 하면 AWS SAMCLI가 함수 ARN을 논리적 ID 값으로 전달하는 것을 방지할 수 있습니다.  
구성 파일을 수정한 후 `sam build`를 실행합니다.

### 오류: 관리형 리소스를 생성하지 못했습니다. 자격 증명을 찾을 수 없습니다.
<a name="sam-cli-troubleshoot-messages-credentials"></a>

**sam deploy** 명령을 실행할 때 다음 오류가 표시됩니다.

```
Error: Failed to create managed resources: Unable to locate credentials
```

즉,에서 AWS 서비스를 호출할 수 있도록 AWS AWS SAM CLI 자격 증명을 설정하지 않았습니다. 이 문제를 해결하려면 AWS 자격 증명을 설정해야 합니다. 자세한 내용은 [AWS 자격 증명 설정](serverless-getting-started-set-up-credentials.md) 단원을 참조하십시오.

### 오류: Windows의 FileNotFoundError
<a name="sam-cli-troubleshoot-messages-filenotfound-win"></a>

Windows의 AWS SAM CLI에서 명령을 실행할 때 다음 오류가 발생할 수 있습니다.

```
Error: FileNotFoundError
```

가능한 원인:는 AWS SAM CLI Windows 최대 경로 제한을 초과하는 파일 경로와 상호 작용할 수 있습니다.

해결 방법: 이 문제를 해결하기 위해서는 새로운 긴 경로 동작을 활성화해야 합니다. 이렇게 하려면 Microsoft Windows 앱 개발 설명서**의 [Windows 10, 버전 1607 이상에서 긴 경로 사용 활성화](https://learn.microsoft.com/en-us/windows/win32/fileio/maximum-file-path-limitation?tabs=powershell#enable-long-paths-in-windows-10-version-1607-and-later)를 참조하세요.

### 오류: pip의 종속성해석기...
<a name="sam-cli-troubleshoot-messages-pip"></a>

*오류 텍스트 예:*

```
ERROR: pip's dependency resolver does not currently take into account all the packages that are installed. This behaviour is the source of the following dependency conflicts. 
aws-sam-cli 1.58.0 requires aws-sam-translator==1.51.0, but you have aws-sam-translator 1.58.0 which is incompatible. 
aws-sam-cli 1.58.0 requires typing-extensions==3.10.0.0, but you have typing-extensions 4.4.0 which is incompatible.
```

**가능한 원인: pip를 사용하여 패키지를 설치하는 경우 패키지 간 종속성이 충돌할 수 있습니다.**  
각 `aws-sam-cli` 패키지의 버전은 `aws-sam-translator` 패키지 버전에 따라 달라집니다. 예를 들어 `aws-sam-cli` v1.58.0은 `aws-sam-translator` v1.51.0에 따라 달라질 수 있습니다.  
pip를 사용하여 AWS SAMCLI를 설치한 다음 새로운 버전의 `aws-sam-translator`를 사용하는 다른 패키지를 설치하면 다음과 같은 상황이 발생합니다.  
+ 새로운 버전의 `aws-sam-translator`가 설치됩니다.
+ `aws-sam-cli`의 현재 버전과 `aws-sam-translator`의 새로운 버전은 호환되지 않을 수 있습니다.
+ 를 사용하면 AWS SAM CLI종속성 해석기 오류가 발생합니다.

**솔루션**

1.  AWS SAMCLI 네이티브 패키지 설치 프로그램을 사용합니다.

   1. pip를 사용하여 AWS SAM CLI 제거 지침은 [AWS SAM CLI 제거](manage-sam-cli-versions.md#manage-sam-cli-versions-uninstall) 섹션을 참조하세요.

   1. 네이티브 패키지 설치 프로그램을 사용하여 AWS SAMCLI를 설치합니다. 지침은 [AWS SAM CLI 설치](install-sam-cli.md) 섹션을 참조하세요.

   1. 필요한 경우 네이티브 패키지 설치 프로그램을 사용하여 AWS SAMCLI를 업그레이드합니다. 지침은 [AWS SAMCLI업그레이드](manage-sam-cli-versions.md#manage-sam-cli-versions-upgrade) 섹션을 참조하세요.

1. pip를 사용해야 하는 경우 가상 환경에 AWS SAM CLI를 설치하는 것이 좋습니다. 이렇게 하면 설치 환경이 깔끔해지고 오류 발생 시 격리된 환경이 보장됩니다. 지침은 [AWS SAM을 이용하여 가상 환경에 CLI pip 설치](manage-sam-cli-versions.md#manage-sam-cli-versions-install-virtual) 섹션을 참조하세요.

### 오류: '원격' 명령이 없습니다.
<a name="sam-cli-troubleshoot-messages-command-remote"></a>

`sam remote invoke` 명령을 실행할 때 다음 오류가 표시됩니다.

```
$ sam remote invoke ...
2023-06-20 08:15:07 Command remote not available
Usage: sam [OPTIONS] COMMAND [ARGS]...
Try 'sam -h' for help.

Error: No such command 'remote'.
```

**가능한 원인: AWS SAMCLI의 버전이 오래된 버전입니다.**  
이 `sam remote invoke` 명령은 AWS SAM CLI 버전 1.88.0에서 AWS SAM CLI 릴리스되었습니다. 버전은 `sam --version` 명령을 통해 확인할 수 있습니다.

**해결 방법: AWS SAMCLI를 최신 버전으로 업그레이드합니다.**  
지침은 [AWS SAMCLI업그레이드](manage-sam-cli-versions.md#manage-sam-cli-versions-upgrade) 섹션을 참조하세요.

### 오류: 로컬에서 AWS SAM 프로젝트를 실행하려면가 필요합니다Docker. 설치하셨습니까?
<a name="sam-cli-troubleshoot-messages-docker"></a>

**sam local start-api** 명령을 실행할 때 다음 오류가 표시됩니다.

```
Error: Running AWS SAM projects locally requires Docker. Have you got it installed?
```

Docker가 제대로 설치되지 않았음을 의미합니다. 애플리케이션을 로컬에서 테스트하는 데 Docker가 필요합니다. 이 문제를 해결하려면 개발 호스트용 Docker 설치 지침을 따르세요. 자세한 내용은 [Docker 설치](install-docker.md) 단원을 참조하십시오.

### 오류: 보안 제약 조건이 충족되지 않음
<a name="sam-cli-troubleshoot-messages-security-constraints"></a>

**sam deploy --guided** 실행 중에 질문 `Function may not have authorization defined, Is this okay? [y/N]`을 묻는 메시지가 표시됩니다. 이 프롬프트에 **N**(기본 응답)으로 응답하면 다음 오류가 표시됩니다.

```
Error: Security Constraints Not Satisfied
```

이 프롬프트는 배포하려는 애플리케이션에 공개적으로 액세스할 수 있는 Amazon API Gateway API가 승인 없이 구성되어 있을 수 있다는 메시지를 표시합니다. 이 프롬프트에 **N**으로 응답하는 것은 괜찮지 않다고 말하는 것입니다.

이 문제를 해결할 수 있도록 다음 옵션이 제공됩니다.
+ 권한 부여를 통해 애플리케이션을 구성하세요. 권한 부여 구성에 대한 자세한 내용은을 잠조하세요[AWS SAM 템플릿을 사용하여 API 액세스 제어](serverless-controlling-access-to-apis.md)
+ 승인 없이 공개적으로 액세스할 수 있는 API 엔드포인트를 만들려면 배포를 다시 시작하고 이 질문에 **Y**로 응답하여 배포해도 괜찮다는 의사를 표시하세요.

### 인증 토큰 누락
<a name="sam-cli-troubleshoot-messages-auth-token"></a>

API Gateway 엔드포인트를 호출하려고 하면 다음 오류가 표시됩니다.

```
{"message":"Missing Authentication Token"}
```

이는 올바른 도메인으로 요청을 보내려고 했지만 URI를 인식할 수 없음을 의미합니다. 이 문제를 해결하려면 전체 URL을 확인하고 올바른 URL로 **curl** 명령을 업데이트합니다.

## 경고 메시지
<a name="sam-cli-troubleshoot-warning"></a>

### 경고: ... AWS 에 대한 Homebrew 설치 프로그램을 더 이상 유지 관리하지 않습니다 AWS SAM .
<a name="sam-cli-troubleshoot-warning-homebrew"></a>

Homebrew를 사용하여 AWS SAMCLI를 설치할 때 다음과 같은 경고 메시지가 나타납니다.

```
Warning: ... AWS will no longer maintain the Homebrew installer for AWS SAM (aws/tap/aws-sam-cli). 
				For AWS supported installations, use the first party installers ...
```

**잠재적 원인: 더 이상 Homebrew 지원을 유지하지 AWS 않습니다.**  
2023년 9월부터 AWS 는 더 이상에 대한 Homebrew 설치 프로그램을 유지 관리하지 않습니다 AWS SAM CLI.  

**해결 방법: AWS 지원되는 설치 방법을 사용합니다.**
+  AWS 지원되는 설치 방법은에서 찾을 수 있습니다[AWS SAM CLI 설치](install-sam-cli.md).

**해결 방법: 계속 Homebrew를 사용하려면 커뮤니티 관리 설치 프로그램을 사용합니다.**
+ 재량에 따라 커뮤니티 관리 Homebrew 설치 프로그램을 사용할 수 있습니다. 지침은 [AWS SAM로 CLI Homebrew 관리](manage-sam-cli-versions.md#manage-sam-cli-versions-homebrew) 단원을 참조하세요.

# AWS SAM 커넥터 참조
<a name="reference-sam-connector"></a>

이 섹션에는 AWS Serverless Application Model (AWS SAM) 커넥터 리소스 유형에 대한 참조 정보가 포함되어 있습니다. 커넥터에 대한 소개는 [AWS SAM 커넥터를 사용하여 리소스 권한 관리](managing-permissions-connectors.md) 섹션을 참조하세요.

## 커넥터에 지원되는 소스 및 대상 리소스 유형
<a name="supported-connector-resource-types"></a>

`AWS::Serverless::Connector` 리소스 유형은 소스 리소스와 대상 리소스 간에 선택한 수의 연결을 지원합니다. AWS SAM 템플릿에서 커넥터를 구성할 때 다음 표를 사용하여 지원되는 연결과 각 소스 및 대상 리소스 유형에 대해 정의해야 하는 속성을 참조합니다. 템플릿에서 커넥터를 구성하는 방법에 대한 자세한 내용은 [AWS::Serverless::Connector](sam-resource-connector.md) 섹션을 참조하세요.

소스 및 대상 리소스 모두에 대해 동일한 템플릿 내에 정의된 경우 `Id` 속성을 사용합니다. 선택적으로 `Qualifier`을 추가하여 정의된 리소스의 범위를 좁힐 수 있습니다. 리소스가 동일한 템플릿 내에 있지 않은 경우 지원되는 속성을 조합하여 사용합니다.

 새 연결을 요청하려면 *serverless-application-model AWS GitHub리포지토리*에서 [새 문제를 제출합니다](https://github.com/aws/serverless-application-model/issues/new?assignees=&labels=area%2Fconnectors,stage%2Fneeds-triage&template=other.md&title=%28New%20Connector%20Profile%29).


| 소스 유형 | 대상 유형 | 권한 | 소스 속성 | 대상 속성 | 
| --- | --- | --- | --- | --- | 
| `AWS::ApiGateway::RestApi` | `AWS::Lambda::Function` | `Write` | `Id`또는 `Qualifier`, `ResourceId`, 및 `Type` | `Id`또는 `Arn` 및 `Type` | 
| `AWS::ApiGateway::RestApi` | `AWS::Serverless::Function` | `Write` | `Id`또는 `Qualifier`, `ResourceId`, 및 `Type` | `Id`또는 `Arn` 및 `Type` | 
| `AWS::ApiGatewayV2::Api` | `AWS::Lambda::Function` | `Write` | `Id`또는 `Qualifier`, `ResourceId`, 및 `Type` | `Id`또는 `Arn` 및 `Type` | 
| `AWS::ApiGatewayV2::Api` | `AWS::Serverless::Function` | `Write` | `Id`또는 `Qualifier`, `ResourceId`, 및 `Type` | `Id`또는 `Arn` 및 `Type` | 
| `AWS::AppSync::DataSource` | `AWS::DynamoDB::Table` | `Read` | `Id`또는 `RoleName` 및 `Type` | `Id`또는 `Arn` 및 `Type` | 
| `AWS::AppSync::DataSource` | `AWS::DynamoDB::Table` | `Write` | `Id`또는 `RoleName` 및 `Type` | `Id`또는 `Arn` 및 `Type` | 
| `AWS::AppSync::DataSource` | `AWS::Events::EventBus` | `Write` | `Id`또는 `RoleName` 및 `Type` | `Id`또는 `Arn` 및 `Type` | 
| `AWS::AppSync::DataSource` | `AWS::Lambda::Function` | `Write` | `Id`또는 `RoleName` 및 `Type` | `Id`또는 `Arn` 및 `Type` | 
| `AWS::AppSync::DataSource` | `AWS::Serverless::Function` | `Write` | `Id`또는 `RoleName` 및 `Type` | `Id`또는 `Arn` 및 `Type` | 
| `AWS::AppSync::DataSource` | `AWS::Serverless::SimpleTable` | `Read` | `Id`또는 `RoleName` 및 `Type` | `Id`또는 `Arn` 및 `Type` | 
| `AWS::AppSync::DataSource` | `AWS::Serverless::SimpleTable` | `Write` | `Id`또는 `RoleName` 및 `Type` | `Id`또는 `Arn` 및 `Type` | 
| `AWS::AppSync::GraphQLApi` | `AWS::Lambda::Function` | `Write` | `Id`또는 `ResourceId` 및 `Type` | `Id`또는 `Arn` 및 `Type` | 
| `AWS::AppSync::GraphQLApi` | `AWS::Serverless::Function` | `Write` | `Id`또는 `ResourceId` 및 `Type` | `Id`또는 `Arn` 및 `Type` | 
| `AWS::DynamoDB::Table` | `AWS::Lambda::Function` | `Read` | `Id`또는 `Arn` 및 `Type` | `Id`또는 `RoleName` 및 `Type` | 
| `AWS::DynamoDB::Table` | `AWS::Serverless::Function` | `Read` | `Id`또는 `Arn` 및 `Type` | `Id`또는 `RoleName` 및 `Type` | 
| `AWS::Events::Rule` | `AWS::Events::EventBus` | `Write` | `Id`또는 `RoleName` 및 `Type` | `Id`또는 `Arn` 및 `Type` | 
| `AWS::Events::Rule` | `AWS::Lambda::Function` | `Write` | `Id`또는 `Arn` 및 `Type` | `Id`또는 `Arn` 및 `Type` | 
| `AWS::Events::Rule` | `AWS::Serverless::Function` | `Write` | `Id`또는 `Arn` 및 `Type` | `Id`또는 `Arn` 및 `Type` | 
| `AWS::Events::Rule` | `AWS::Serverless::StateMachine` | `Write` | `Id`또는 `RoleName` 및 `Type` | `Id`또는 `Arn` 및 `Type` | 
| `AWS::Events::Rule` | `AWS::SNS::Topic` | `Write` | `Id`또는 `Arn` 및 `Type` | `Id`또는 `Arn` 및 `Type` | 
| `AWS::Events::Rule` | `AWS::SQS::Queue` | `Write` | `Id`또는 `Arn` 및 `Type` | `Id`또는 `Arn`, `QueueUrl`, 및 `Type` | 
| `AWS::Events::Rule` | `AWS::StepFunctions::StateMachine` | `Write` | `Id`또는 `RoleName` 및 `Type` | `Id`또는 `Arn` 및 `Type` | 
| `AWS::Lambda::Function` | `AWS::DynamoDB::Table` | `Read`, `Write` | `Id`또는 `RoleName` 및 `Type` | `Id`또는 `Arn` 및 `Type` | 
| `AWS::Lambda::Function` | `AWS::Events::EventBus` | `Write` | `Id`또는 `RoleName` 및 `Type` | `Id`또는 `Arn` 및 `Type` | 
| `AWS::Lambda::Function` | `AWS::Lambda::Function` | `Write` | `Id`또는 `RoleName` 및 `Type` | `Id`또는 `Arn` 및 `Type` | 
| `AWS::Lambda::Function` | `AWS::Location::PlaceIndex` | `Read` | `Id`또는 `RoleName` 및 `Type` | `Id`또는 `Arn` 및 `Type` | 
| `AWS::Lambda::Function` | `AWS::S3::Bucket` | `Read`, `Write` | `Id`또는 `RoleName` 및 `Type` | `Id`또는 `Arn` 및 `Type` | 
| `AWS::Lambda::Function` | `AWS::Serverless::Function` | `Write` | `Id`또는 `RoleName` 및 `Type` | `Id`또는 `Arn` 및 `Type` | 
| `AWS::Lambda::Function` | `AWS::Serverless::SimpleTable` | `Read`, `Write` | `Id`또는 `RoleName` 및 `Type` | `Id`또는 `Arn` 및 `Type` | 
| `AWS::Lambda::Function` | `AWS::Serverless::StateMachine` | `Read`, `Write` | `Id`또는 `RoleName` 및 `Type` | `Id`또는 `Arn`, `Name`, 및 `Type` | 
| `AWS::Lambda::Function` | `AWS::SNS::Topic` | `Write` | `Id`또는 `RoleName` 및 `Type` | `Id`또는 `Arn` 및 `Type` | 
| `AWS::Lambda::Function` | `AWS::SQS::Queue` | `Read`, `Write` | `Id`또는 `RoleName` 및 `Type` | `Id`또는 `Arn` 및 `Type` | 
| `AWS::Lambda::Function` | `AWS::StepFunctions::StateMachine` | `Read`, `Write` | `Id`또는 `RoleName` 및 `Type` | `Id`또는 `Arn`, `Name`, 및 `Type` | 
| `AWS::S3::Bucket` | `AWS::Lambda::Function` | `Write` | `Id`또는 `Arn` 및 `Type` | `Id`또는 `Arn` 및 `Type` | 
| `AWS::S3::Bucket` | `AWS::Serverless::Function` | `Write` | `Id`또는 `Arn` 및 `Type` | `Id`또는 `Arn` 및 `Type` | 
| `AWS::Serverless::Api` | `AWS::Lambda::Function` | `Write` | `Id`또는 `Qualifier`, `ResourceId`, 및 `Type` | `Id`또는 `Arn` 및 `Type` | 
| `AWS::Serverless::Api` | `AWS::Serverless::Function` | `Write` | `Id`또는 `Qualifier`, `ResourceId`, 및 `Type` | `Id`또는 `Arn` 및 `Type` | 
| `AWS::Serverless::Function` | `AWS::DynamoDB::Table` | `Read`, `Write` | `Id`또는 `RoleName` 및 `Type` | `Id`또는 `Arn` 및 `Type` | 
| `AWS::Serverless::Function` | `AWS::Events::EventBus` | `Write` | `Id`또는 `RoleName` 및 `Type` | `Id`또는 `Arn` 및 `Type` | 
| `AWS::Serverless::Function` | `AWS::Lambda::Function` | `Write` | `Id`또는 `RoleName` 및 `Type` | `Id`또는 `Arn` 및 `Type` | 
| `AWS::Serverless::Function` | `AWS::S3::Bucket` | `Read`, `Write` | `Id`또는 `RoleName` 및 `Type` | `Id`또는 `Arn` 및 `Type` | 
| `AWS::Serverless::Function` | `AWS::Serverless::Function` | `Write` | `Id`또는 `RoleName` 및 `Type` | `Id`또는 `Arn` 및 `Type` | 
| `AWS::Serverless::Function` | `AWS::Serverless::SimpleTable` | `Read`, `Write` | `Id`또는 `RoleName` 및 `Type` | `Id`또는 `Arn` 및 `Type` | 
| `AWS::Serverless::Function` | `AWS::Serverless::StateMachine` | `Read`, `Write` | `Id`또는 `RoleName` 및 `Type` | `Id`또는 `Arn`, `Name`, 및 `Type` | 
| `AWS::Serverless::Function` | `AWS::SNS::Topic` | `Write` | `Id`또는 `RoleName` 및 `Type` | `Id`또는 `Arn` 및 `Type` | 
| `AWS::Serverless::Function` | `AWS::SQS::Queue` | `Read`, `Write` | `Id`또는 `RoleName` 및 `Type` | `Id`또는 `Arn` 및 `Type` | 
| `AWS::Serverless::Function` | `AWS::StepFunctions::StateMachine` | `Read`, `Write` | `Id`또는 `RoleName` 및 `Type` | `Id`또는 `Arn`, `Name`, 및 `Type` | 
| `AWS::Serverless::HttpApi` | `AWS::Lambda::Function` | `Write` | `Id`또는 `Qualifier`, `ResourceId`, 및 `Type` | `Id`또는 `Arn` 및 `Type` | 
| `AWS::Serverless::HttpApi` | `AWS::Serverless::Function` | `Write` | `Id`또는 `Qualifier`, `ResourceId`, 및 `Type` | `Id`또는 `Arn` 및 `Type` | 
| `AWS::Serverless::SimpleTable` | `AWS::Lambda::Function` | `Read` | `Id`또는 `Arn` 및 `Type` | `Id`또는 `RoleName` 및 `Type` | 
| `AWS::Serverless::SimpleTable` | `AWS::Serverless::Function` | `Read` | `Id`또는 `Arn` 및 `Type` | `Id`또는 `RoleName` 및 `Type` | 
| `AWS::Serverless::StateMachine` | `AWS::DynamoDB::Table` | `Read`, `Write` | `Id`또는 `RoleName` 및 `Type` | `Id`또는 `Arn` 및 `Type` | 
| `AWS::Serverless::StateMachine` | `AWS::Events::EventBus` | `Write` | `Id`또는 `RoleName` 및 `Type` | `Id`또는 `Arn` 및 `Type` | 
| `AWS::Serverless::StateMachine` | `AWS::Lambda::Function` | `Write` | `Id`또는 `RoleName` 및 `Type` | `Id`또는 `Arn` 및 `Type` | 
| `AWS::Serverless::StateMachine` | `AWS::S3::Bucket` | `Read`, `Write` | `Id`또는 `RoleName` 및 `Type` | `Id`또는 `Arn` 및 `Type` | 
| `AWS::Serverless::StateMachine` | `AWS::Serverless::Function` | `Write` | `Id`또는 `RoleName` 및 `Type` | `Id`또는 `Arn` 및 `Type` | 
| `AWS::Serverless::StateMachine` | `AWS::Serverless::SimpleTable` | `Read`, `Write` | `Id`또는 `RoleName` 및 `Type` | `Id`또는 `Arn` 및 `Type` | 
| `AWS::Serverless::StateMachine` | `AWS::Serverless::StateMachine` | `Read`, `Write` | `Id`또는 `RoleName` 및 `Type` | `Id`또는 `Arn`, `Name`, 및 `Type` | 
| `AWS::Serverless::StateMachine` | `AWS::SNS::Topic` | `Write` | `Id`또는 `RoleName` 및 `Type` | `Id`또는 `Arn` 및 `Type` | 
| `AWS::Serverless::StateMachine` | `AWS::SQS::Queue` | `Write` | `Id`또는 `RoleName` 및 `Type` | `Id`또는 `Arn` 및 `Type` | 
| `AWS::Serverless::StateMachine` | `AWS::StepFunctions::StateMachine` | `Read`, `Write` | `Id`또는 `RoleName` 및 `Type` | `Id`또는 `Arn`, `Name`, 및 `Type` | 
| `AWS::SNS::Topic` | `AWS::Lambda::Function` | `Write` | `Id`또는 `Arn` 및 `Type` | `Id`또는 `Arn` 및 `Type` | 
| `AWS::SNS::Topic` | `AWS::Serverless::Function` | `Write` | `Id`또는 `Arn` 및 `Type` | `Id`또는 `Arn` 및 `Type` | 
| `AWS::SNS::Topic` | `AWS::SQS::Queue` | `Write` | `Id`또는 `Arn` 및 `Type` | `Id`또는 `Arn`, `QueueUrl`, 및 `Type` | 
| `AWS::SQS::Queue` | `AWS::Lambda::Function` | `Read`, `Write` | `Id`또는 `Arn` 및 `Type` | `Id`또는 `RoleName` 및 `Type` | 
| `AWS::SQS::Queue` | `AWS::Serverless::Function` | `Read`, `Write` | `Id`또는 `Arn` 및 `Type` | `Id`또는 `RoleName` 및 `Type` | 
| `AWS::StepFunctions::StateMachine` | `AWS::DynamoDB::Table` | `Read`, `Write` | `Id`또는 `RoleName` 및 `Type` | `Id`또는 `Arn` 및 `Type` | 
| `AWS::StepFunctions::StateMachine` | `AWS::Events::EventBus` | `Write` | `Id`또는 `RoleName` 및 `Type` | `Id`또는 `Arn` 및 `Type` | 
| `AWS::StepFunctions::StateMachine` | `AWS::Lambda::Function` | `Write` | `Id`또는 `RoleName` 및 `Type` | `Id`또는 `Arn` 및 `Type` | 
| `AWS::StepFunctions::StateMachine` | `AWS::S3::Bucket` | `Read`, `Write` | `Id`또는 `RoleName` 및 `Type` | `Id`또는 `Arn` 및 `Type` | 
| `AWS::StepFunctions::StateMachine` | `AWS::Serverless::Function` | `Write` | `Id`또는 `RoleName` 및 `Type` | `Id`또는 `Arn` 및 `Type` | 
| `AWS::StepFunctions::StateMachine` | `AWS::Serverless::SimpleTable` | `Read`, `Write` | `Id`또는 `RoleName` 및 `Type` | `Id`또는 `Arn` 및 `Type` | 
| `AWS::StepFunctions::StateMachine` | `AWS::Serverless::StateMachine` | `Read`, `Write` | `Id`또는 `RoleName` 및 `Type` | `Id`또는 `Arn`, `Name`, 및 `Type` | 
| `AWS::StepFunctions::StateMachine` | `AWS::SNS::Topic` | `Write` | `Id`또는 `RoleName` 및 `Type` | `Id`또는 `Arn` 및 `Type` | 
| `AWS::StepFunctions::StateMachine` | `AWS::SQS::Queue` | `Write` | `Id`또는 `RoleName` 및 `Type` | `Id`또는 `Arn` 및 `Type` | 
| `AWS::StepFunctions::StateMachine` | `AWS::StepFunctions::StateMachine` | `Read`, `Write` | `Id`또는 `RoleName` 및 `Type` | `Id`또는 `Arn`, `Name`, 및 `Type` | 

## 커넥터에서 생성한 IAM 정책
<a name="reference-sam-connector-policies"></a>

이 섹션에서는 커넥터를 사용할 AWS SAM 때에서 생성한 AWS Identity and Access Management (IAM) 정책을 설명합니다.

`AWS::DynamoDB::Table`\$1`AWS::Lambda::Function`  
**정책 유형**  
`AWS::Lambda::Function` 역할에 연결된 [고객 관리형 정책](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_managed-vs-inline.html).  
**액세스 카테고리**  
`Read`  

```
{
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "dynamodb:DescribeStream",
        "dynamodb:GetRecords",
        "dynamodb:GetShardIterator",
        "dynamodb:ListStreams"
      ],
      "Resource": [
        "%{Source.Arn}/stream/*"
      ]
    }
  ]
}
```

`AWS::Events::Rule`\$1`AWS::SNS::Topic`  
**정책 유형**  
`AWS::SNS::Topic`에 연결된 [https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sns-topicpolicy.html](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sns-topicpolicy.html).  
**액세스 카테고리**  
`Write`  

```
{
  "Statement": [
    {
      "Effect": "Allow",
      "Principal": {
        "Service": "events.amazonaws.com"
      },
      "Resource": "%{Destination.Arn}",
      "Action": "sns:Publish",
      "Condition": {
        "ArnEquals": {
          "aws:SourceArn": "%{Source.Arn}"
        }
      }
    }
  ]
}
```

`AWS::Events::Rule`\$1`AWS::Events::EventBus`  
**정책 유형**  
`AWS::Events::Rule` 역할에 연결된 [고객 관리형 정책](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_managed-vs-inline.html).  
**액세스 카테고리**  
`Write`  

```
{
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "events:PutEvents"
      ],
      "Resource": [
        "%{Destination.Arn}"
      ]
    }
  ]
}
```

`AWS::Events::Rule`\$1`AWS::StepFunctions::StateMachine`  
**정책 유형**  
`AWS::Events::Rule` 역할에 연결된 [고객 관리형 정책](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_managed-vs-inline.html).  
**액세스 카테고리**  
`Write`  

```
{
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "states:StartExecution"
      ],
      "Resource": [
        "%{Destination.Arn}"
      ]
    }
  ]
}
```

`AWS::Events::Rule`\$1`AWS::Lambda::Function`  
**정책 유형**  
`AWS::Lambda::Function`에 연결된 `[AWS::Lambda::Permission](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-permission.html)`.  
**액세스 카테고리**  
`Write`  

```
{
  "Action": "lambda:InvokeFunction",
  "Principal": "events.amazonaws.com",
  "SourceArn": "%{Source.Arn}"
}
```

`AWS::Events::Rule`\$1`AWS::SQS::Queue`  
**정책 유형**  
`AWS::SQS::Queue`에 연결된 `[AWS::SQS::QueuePolicy](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sqs-queuepolicy.html)`.  
**액세스 카테고리**  
`Write`  

```
{
  "Statement": [
    {
      "Effect": "Allow",
      "Principal": {
        "Service": "events.amazonaws.com"
      },
      "Resource": "%{Destination.Arn}",
      "Action": "sqs:SendMessage",
      "Condition": {
        "ArnEquals": {
          "aws:SourceArn": "%{Source.Arn}"
        }
      }
    }
  ]
}
```

`AWS::Lambda::Function`\$1`AWS::Lambda::Function`  
**정책 유형**  
`AWS::Lambda::Function` 역할에 연결된 [고객 관리형 정책](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_managed-vs-inline.html).  
**액세스 카테고리**  
`Write`  

```
{
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "lambda:InvokeAsync",
        "lambda:InvokeFunction"
      ],
      "Resource": [
        "%{Destination.Arn}"
      ]
    }
  ]
}
```

`AWS::Lambda::Function`\$1`AWS::S3::Bucket`  
**정책 유형**  
`AWS::Lambda::Function` 역할에 연결된 [고객 관리형 정책](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_managed-vs-inline.html).  
**액세스 카테고리**  
`Read`  

```
{
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "s3:GetObject",
        "s3:GetObjectAcl",
        "s3:GetObjectLegalHold",
        "s3:GetObjectRetention",
        "s3:GetObjectTorrent",
        "s3:GetObjectVersion",
        "s3:GetObjectVersionAcl",
        "s3:GetObjectVersionForReplication",
        "s3:GetObjectVersionTorrent",
        "s3:ListBucket",
        "s3:ListBucketMultipartUploads",
        "s3:ListBucketVersions",
        "s3:ListMultipartUploadParts"
      ],
      "Resource": [
        "%{Destination.Arn}",
        "%{Destination.Arn}/*"
      ]
    }
  ]
}
```
`Write`  

```
{
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "s3:AbortMultipartUpload",
        "s3:DeleteObject",
        "s3:DeleteObjectVersion",
        "s3:PutObject",
        "s3:PutObjectLegalHold",
        "s3:PutObjectRetention",
        "s3:RestoreObject"
      ],
      "Resource": [
        "%{Destination.Arn}",
        "%{Destination.Arn}/*"
      ]
    }
  ]
}
```

`AWS::Lambda::Function`\$1`AWS::DynamoDB::Table`  
**정책 유형**  
`AWS::Lambda::Function` 역할에 연결된 [고객 관리형 정책](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_managed-vs-inline.html).  
**액세스 카테고리**  
`Read`  

```
{
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "dynamodb:GetItem",
        "dynamodb:Query",
        "dynamodb:Scan",
        "dynamodb:BatchGetItem",
        "dynamodb:ConditionCheckItem",
        "dynamodb:PartiQLSelect"
      ],
      "Resource": [
        "%{Destination.Arn}",
        "%{Destination.Arn}/index/*"
      ]
    }
  ]
}
```
`Write`  

```
{
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "dynamodb:PutItem",
        "dynamodb:UpdateItem",
        "dynamodb:DeleteItem",
        "dynamodb:BatchWriteItem",
        "dynamodb:PartiQLDelete",
        "dynamodb:PartiQLInsert",
        "dynamodb:PartiQLUpdate"
      ],
      "Resource": [
        "%{Destination.Arn}",
        "%{Destination.Arn}/index/*"
      ]
    }
  ]
}
```

`AWS::Lambda::Function`\$1`AWS::SQS::Queue`  
**정책 유형**  
`AWS::Lambda::Function` 역할에 연결된 [고객 관리형 정책](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_managed-vs-inline.html).  
**액세스 카테고리**  
`Read`  

```
{
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "sqs:ReceiveMessage",
        "sqs:GetQueueAttributes"
      ],
      "Resource": [
        "%{Destination.Arn}"
      ]
    }
  ]
}
```
`Write`  

```
{
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "sqs:DeleteMessage",
        "sqs:SendMessage",
        "sqs:ChangeMessageVisibility",
        "sqs:PurgeQueue"
      ],
      "Resource": [
        "%{Destination.Arn}"
      ]
    }
  ]
}
```

`AWS::Lambda::Function`\$1`AWS::SNS::Topic`  
**정책 유형**  
`AWS::Lambda::Function` 역할에 연결된 [고객 관리형 정책](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_managed-vs-inline.html).  
**액세스 카테고리**  
`Write`  

```
{
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "sns:Publish"
      ],
      "Resource": [
        "%{Destination.Arn}"
      ]
    }
  ]
}
```

`AWS::Lambda::Function`\$1`AWS::StepFunctions::StateMachine`  
**정책 유형**  
`AWS::Lambda::Function` 역할에 연결된 [고객 관리형 정책](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_managed-vs-inline.html).  
**액세스 카테고리**  
`Write`  

```
{
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "states:StartExecution",
        "states:StartSyncExecution"
      ],
      "Resource": [
        "%{Destination.Arn}"
      ]
    },
    {
      "Effect": "Allow",
      "Action": [
        "states:StopExecution"
      ],
      "Resource": [
        "arn:${AWS::Partition}:states:${AWS::Region}:${AWS::AccountId}:execution:%{Destination.Name}:*"
      ]
    }
  ]
}
```
`Read`  

```
{
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "states:DescribeStateMachine",
        "states:ListExecutions"
      ],
      "Resource": [
        "%{Destination.Arn}"
      ]
    },
    {
      "Effect": "Allow",
      "Action": [
        "states:DescribeExecution",
        "states:DescribeStateMachineForExecution",
        "states:GetExecutionHistory"
      ],
      "Resource": [
        "arn:${AWS::Partition}:states:${AWS::Region}:${AWS::AccountId}:execution:%{Destination.Name}:*"
      ]
    }
  ]
}
```

`AWS::Lambda::Function`\$1`AWS::Events::EventBus`  
**정책 유형**  
`AWS::Lambda::Function` 역할에 연결된 [고객 관리형 정책](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_managed-vs-inline.html).  
**액세스 카테고리**  
`Write`  

```
{
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "events:PutEvents"
      ],
      "Resource": [
        "%{Destination.Arn}"
      ]
    }
  ]
}
```

`AWS::Lambda::Function`\$1`AWS::Location::PlaceIndex`  
**정책 유형**  
`AWS::Lambda::Function` 역할에 연결된 [고객 관리형 정책](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_managed-vs-inline.html).  
**액세스 카테고리**  
`Read`  

```
{
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "geo:DescribePlaceIndex",
        "geo:GetPlace",
        "geo:SearchPlaceIndexForPosition",
        "geo:SearchPlaceIndexForSuggestions",
        "geo:SearchPlaceIndexForText"
      ],
      "Resource": [
        "%{Destination.Arn}"
      ]
    }
  ]
}
```

`AWS::ApiGatewayV2::Api`\$1`AWS::Lambda::Function`  
**정책 유형**  
`AWS::Lambda::Function`에 연결된 `[AWS::Lambda::Permission](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-permission.html)`.  
**액세스 카테고리**  
`Write`  

```
{
  "Action": "lambda:InvokeFunction",
  "Principal": "apigateway.amazonaws.com",
  "SourceArn": "arn:${AWS::Partition}:execute-api:${AWS::Region}:${AWS::AccountId}:%{Source.ResourceId}/%{Source.Qualifier}"
}
```

`AWS::ApiGateway::RestApi`\$1`AWS::Lambda::Function`  
**정책 유형**  
`AWS::Lambda::Function`에 연결된 `[AWS::Lambda::Permission](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-permission.html)`.  
**액세스 카테고리**  
`Write`  

```
{
  "Action": "lambda:InvokeFunction",
  "Principal": "apigateway.amazonaws.com",
  "SourceArn": "arn:${AWS::Partition}:execute-api:${AWS::Region}:${AWS::AccountId}:%{Source.ResourceId}/%{Source.Qualifier}"
}
```

`AWS::SNS::Topic`\$1`AWS::SQS::Queue`  
**정책 유형**  
`AWS::SQS::Queue`에 연결된 `[AWS::SQS::QueuePolicy](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sqs-queuepolicy.html)`.  
**액세스 카테고리**  
`Write`  

```
{
  "Statement": [
    {
      "Effect": "Allow",
      "Principal": {
        "Service": "sns.amazonaws.com"
      },
      "Resource": "%{Destination.Arn}",
      "Action": "sqs:SendMessage",
      "Condition": {
        "ArnEquals": {
          "aws:SourceArn": "%{Source.Arn}"
        }
      }
    }
  ]
}
```

`AWS::SNS::Topic`\$1`AWS::Lambda::Function`  
**정책 유형**  
`AWS::Lambda::Function`에 연결된 `[AWS::Lambda::Permission](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-permission.html)`.  
**액세스 카테고리**  
`Write`  

```
{
  "Action": "lambda:InvokeFunction",
  "Principal": "sns.amazonaws.com",
  "SourceArn": "%{Source.Arn}"
}
```

`AWS::SQS::Queue`\$1`AWS::Lambda::Function`  
**정책 유형**  
`AWS::Lambda::Function` 역할에 연결된 [고객 관리형 정책](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_managed-vs-inline.html).  
**액세스 카테고리**  
`Write`  

```
{
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "sqs:DeleteMessage"
      ],
      "Resource": [
        "%{Source.Arn}"
      ]
    }
  ]
}
```
`Read`  

```
{
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "sqs:ReceiveMessage",
        "sqs:GetQueueAttributes"
      ],
      "Resource": [
        "%{Source.Arn}"
      ]
    }
  ]
}
```

`AWS::S3::Bucket`\$1`AWS::Lambda::Function`  
**정책 유형**  
`AWS::Lambda::Function`에 연결된 `[AWS::Lambda::Permission](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-permission.html)`.  
**액세스 카테고리**  
`Write`  

```
{
  "Action": "lambda:InvokeFunction",
  "Principal": "s3.amazonaws.com",
  "SourceArn": "%{Source.Arn}",
  "SourceAccount": "${AWS::AccountId}"
}
```

`AWS::StepFunctions::StateMachine`\$1`AWS::Lambda::Function`  
**정책 유형**  
`AWS::StepFunctions::StateMachine` 역할에 연결된 [고객 관리형 정책](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_managed-vs-inline.html).  
**액세스 카테고리**  
`Write`  

```
{
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "lambda:InvokeAsync",
        "lambda:InvokeFunction"
      ],
      "Resource": [
        "%{Destination.Arn}"
      ]
    }
  ]
}
```

`AWS::StepFunctions::StateMachine`\$1`AWS::SNS::Topic`  
**정책 유형**  
`AWS::StepFunctions::StateMachine` 역할에 연결된 [고객 관리형 정책](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_managed-vs-inline.html).  
**액세스 카테고리**  
`Write`  

```
{
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "sns:Publish"
      ],
      "Resource": [
        "%{Destination.Arn}"
      ]
    }
  ]
}
```

`AWS::StepFunctions::StateMachine`\$1`AWS::SQS::Queue`  
**정책 유형**  
`AWS::StepFunctions::StateMachine` 역할에 연결된 [고객 관리형 정책](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_managed-vs-inline.html).  
**액세스 카테고리**  
`Write`  

```
{
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "sqs:SendMessage"
      ],
      "Resource": [
        "%{Destination.Arn}"
      ]
    }
  ]
}
```

`AWS::StepFunctions::StateMachine`\$1`AWS::S3::Bucket`  
**정책 유형**  
`AWS::StepFunctions::StateMachine` 역할에 연결된 [고객 관리형 정책](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_managed-vs-inline.html).  
**액세스 카테고리**  
`Read`  

```
{
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "s3:GetObject",
        "s3:GetObjectAcl",
        "s3:GetObjectLegalHold",
        "s3:GetObjectRetention",
        "s3:GetObjectTorrent",
        "s3:GetObjectVersion",
        "s3:GetObjectVersionAcl",
        "s3:GetObjectVersionForReplication",
        "s3:GetObjectVersionTorrent",
        "s3:ListBucket",
        "s3:ListBucketMultipartUploads",
        "s3:ListBucketVersions",
        "s3:ListMultipartUploadParts"
      ],
      "Resource": [
        "%{Destination.Arn}",
        "%{Destination.Arn}/*"
      ]
    }
  ]
}
```
`Write`  

```
{
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "s3:AbortMultipartUpload",
        "s3:DeleteObject",
        "s3:DeleteObjectVersion",
        "s3:PutObject",
        "s3:PutObjectLegalHold",
        "s3:PutObjectRetention",
        "s3:RestoreObject"
      ],
      "Resource": [
        "%{Destination.Arn}",
        "%{Destination.Arn}/*"
      ]
    }
  ]
}
```

`AWS::StepFunctions::StateMachine`\$1`AWS::DynamoDB::Table`  
**정책 유형**  
`AWS::StepFunctions::StateMachine` 역할에 연결된 [고객 관리형 정책](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_managed-vs-inline.html).  
**액세스 카테고리**  
`Read`  

```
{
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "dynamodb:GetItem",
        "dynamodb:Query",
        "dynamodb:Scan",
        "dynamodb:BatchGetItem",
        "dynamodb:ConditionCheckItem",
        "dynamodb:PartiQLSelect"
      ],
      "Resource": [
        "%{Destination.Arn}",
        "%{Destination.Arn}/index/*"
      ]
    }
  ]
}
```
`Write`  

```
{
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "dynamodb:PutItem",
        "dynamodb:UpdateItem",
        "dynamodb:DeleteItem",
        "dynamodb:BatchWriteItem",
        "dynamodb:PartiQLDelete",
        "dynamodb:PartiQLInsert",
        "dynamodb:PartiQLUpdate"
      ],
      "Resource": [
        "%{Destination.Arn}",
        "%{Destination.Arn}/index/*"
      ]
    }
  ]
}
```

`AWS::StepFunctions::StateMachine`\$1`AWS::StepFunctions::StateMachine`  
**정책 유형**  
`AWS::StepFunctions::StateMachine` 역할에 연결된 [고객 관리형 정책](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_managed-vs-inline.html).  
**액세스 카테고리**  
`Read`  

```
{
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "states:DescribeExecution"
      ],
      "Resource": [
        "arn:${AWS::Partition}:states:${AWS::Region}:${AWS::AccountId}:execution:%{Destination.Name}:*"
      ]
    },
    {
      "Effect": "Allow",
      "Action": [
        "events:DescribeRule"
      ],
      "Resource": [
        "arn:${AWS::Partition}:events:${AWS::Region}:${AWS::AccountId}:rule/StepFunctionsGetEventsForStepFunctionsExecutionRule"
      ]
    }
  ]
}
```
`Write`  

```
{
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "states:StartExecution"
      ],
      "Resource": [
        "%{Destination.Arn}"
      ]
    },
    {
      "Effect": "Allow",
      "Action": [
        "states:StopExecution"
      ],
      "Resource": [
        "arn:${AWS::Partition}:states:${AWS::Region}:${AWS::AccountId}:execution:%{Destination.Name}:*"
      ]
    },
    {
      "Effect": "Allow",
      "Action": [
        "events:PutTargets",
        "events:PutRule"
      ],
      "Resource": [
        "arn:${AWS::Partition}:events:${AWS::Region}:${AWS::AccountId}:rule/StepFunctionsGetEventsForStepFunctionsExecutionRule"
      ]
    }
  ]
}
```

`AWS::StepFunctions::StateMachine`\$1`AWS::Events::EventBus`  
**정책 유형**  
`AWS::StepFunctions::StateMachine` 역할에 연결된 [고객 관리형 정책](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_managed-vs-inline.html).  
**액세스 카테고리**  
`Write`  

```
{
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "events:PutEvents"
      ],
      "Resource": [
        "%{Destination.Arn}"
      ]
    }
  ]
}
```

`AWS::AppSync::DataSource`\$1`AWS::DynamoDB::Table`  
**정책 유형**  
`AWS::AppSync::DataSource` 역할에 연결된 [고객 관리형 정책](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_managed-vs-inline.html).  
**액세스 카테고리**  
`Read`  

```
{
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "dynamodb:GetItem",
        "dynamodb:Query",
        "dynamodb:Scan",
        "dynamodb:BatchGetItem",
        "dynamodb:ConditionCheckItem",
        "dynamodb:PartiQLSelect"
      ],
      "Resource": [
        "%{Destination.Arn}",
        "%{Destination.Arn}/index/*"
      ]
    }
  ]
}
```
`Write`  

```
{
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "dynamodb:PutItem",
        "dynamodb:UpdateItem",
        "dynamodb:DeleteItem",
        "dynamodb:BatchWriteItem",
        "dynamodb:PartiQLDelete",
        "dynamodb:PartiQLInsert",
        "dynamodb:PartiQLUpdate"
      ],
      "Resource": [
        "%{Destination.Arn}",
        "%{Destination.Arn}/index/*"
      ]
    }
  ]
}
```

`AWS::AppSync::DataSource`\$1`AWS::Lambda::Function`  
**정책 유형**  
`AWS::AppSync::DataSource` 역할에 연결된 [고객 관리형 정책](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_managed-vs-inline.html).  
**액세스 카테고리**  
`Write`  

```
{
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "lambda:InvokeAsync",
        "lambda:InvokeFunction"
      ],
      "Resource": [
        "%{Destination.Arn}",
        "%{Destination.Arn}:*"
      ]
    }
  ]
}
```

`AWS::AppSync::DataSource`\$1`AWS::Events::EventBus`  
**정책 유형**  
`AWS::AppSync::DataSource` 역할에 연결된 [고객 관리형 정책](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_managed-vs-inline.html).  
**액세스 카테고리**  
`Write`  

```
{
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "events:PutEvents"
      ],
      "Resource": [
        "%{Destination.Arn}"
      ]
    }
  ]
}
```

`AWS::AppSync::GraphQLApi`\$1`AWS::Lambda::Function`  
**정책 유형**  
`AWS::Lambda::Function`에 연결된 `[AWS::Lambda::Permission](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-permission.html)`.  
**액세스 카테고리**  
`Write`  

```
{
  "Action": "lambda:InvokeFunction",
  "Principal": "appsync.amazonaws.com",
  "SourceArn": "arn:${AWS::Partition}:appsync:${AWS::Region}:${AWS::AccountId}:apis/%{Source.ResourceId}"
}
```

# AWS SAMCLI와 함께 사용할 Docker 설치
<a name="install-docker"></a>

Docker은 컴퓨터에서 컨테이너를 실행하는 애플리케이션입니다. 를 사용하면와 유사한 로컬 환경을 컨테이너 AWS Lambda 로 Docker AWS SAM 제공하여 서버리스 애플리케이션을 빌드, 테스트 및 디버깅할 수 있습니다.

**참고**  
Docker은 애플리케이션을 로컬에서 테스트하고 `--use-container` 옵션을 사용하여 배포 패키지를 구축하는 경우에만 필요합니다. 

**Topics**
+ [Docker 설치하기](#install-docker-instructions)
+ [다음 단계](#install-docker-next-steps)

## Docker 설치하기
<a name="install-docker-instructions"></a>

Docker을 운영 체제 상에 설치하려면 이 지침을 따르십시오.

### Linux
<a name="install-docker-instructions-linux"></a>

Docker는 CentOS, Debian, Ubuntu등 최신 Linux 배포 버전을 비롯하여 많은 서로 다른 운영 체제에서 사용할 수 있습니다. 특정 운영 체제에 Docker를 설치하는 방법에 대한 자세한 내용은 Docker Docs 웹사이트에서 [Get Docker](https://docs.docker.com/get-docker/)를 잠조하세요.

**Amazon Linux 2 또는 Amazon Linux 2023 상에 Docker을 설치하기**

1. 인스턴스에 설치한 패키지 및 패키지 캐시를 업데이트합니다.

   ```
   $ sudo yum update -y
   ```

1. 최신 Docker Community Edition 패키지를 설치합니다.
   + Amazon Linux 2의 경우 다음을 실행합니다.

     ```
     $ sudo amazon-linux-extras install docker
     ```
   + Amazon Linux 2023의 경우 다음을 실행합니다.

     ```
     $ sudo yum install -y docker
     ```

1. Docker 서비스를 시작합니다.

   ```
   $ sudo service docker start
   ```

1. `ec2-user`를 사용하지 않고도 `docker` 명령을 실행할 수 있도록 Docker 그룹에 **sudo**를 추가합니다.

   ```
   $ sudo usermod -a -G docker ec2-user
   ```

1. 로그아웃 후 다시 로그인해서 새 `docker` 그룹 권한을 취득합니다. 이를 위해 현재 SSH 터미널 창을 닫고 새 창에서 인스턴스를 다시 연결할 수 있습니다. 새 SSH 세션은 적절한 `docker` 그룹 권한을 가져야 합니다.

1. `ec2-user` 없이도 **sudo**가 Docker 명령을 실행할 수 있는지 확인합니다.

   ```
   $ docker ps
   ```

   다음과 같은 출력결과를 보고 Docker가 설치 및 실행 중임을 확인할 수 있어야 합니다.

   ```
    CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS               NAMES
   ```

**참고**  
Linux에서 호스트 머신과 다른 명령 세트 아키텍처로 Lambda 함수를 빌드하고 실행하려면 추가로 Docker을 구성하는 단계가 있습니다. 예를 들어, `arm64` 기기에서 `x86_64` 함수를 실행하려면 다음 Docker 명령을 실행하여 `docker run --rm --privileged multiarch/qemu-user-static --reset -p yes` 대몬을 구성할 수 있습니다.

Docker의 설치에 문제가 발생하면 [설치 오류 문제 해결](install-sam-cli.md#sam-cli-troubleshoot-install)을 잠조하세요. 또는 Docker Docs 웹 사이트에서 [Linux용 사후 설치 단계](https://docs.docker.com/engine/install/linux-postinstall/#troubleshooting)의 **문제 해결** 섹션을 잠조하세요.

### macOS
<a name="install-docker-instructions-macos"></a>

**참고**  
Docker 데스크톱은 공식적으로 지원되지만 AWS SAMCLI 버전 1.47.0부터는 Docker 런타임을 사용하는 경우 대체 버전을 사용할 수 있습니다. 

1. Docker 설치

    AWS SAMCLI는 macOS Sierra 10.12 이상에서 Docker 실행을 지원할 수 있습니다. Docker의 설치 방법은 [Docs 웹 사이트에서 DockerMac용](https://docs.docker.com/docker-for-mac/install/) 데스크톱 Docker 설치를 잠조하세요. 

1. 공유 드라이브 구성

   를 AWS SAM CLI 사용하려면 프로젝트 디렉터리 또는 상위 디렉터리가 공유 드라이브에 나열되어야 합니다. 이 경우 파일 공유가 필요할 수 있습니다. 자세한 내용은 [ 문서](https://docs.docker.com/desktop/troubleshoot-and-support/troubleshoot/topics/#volume-mounting-requires-file-sharing-for-any-project-directories-outside-of-home)의 *Docker볼륨 마운팅에 필요한 파일 공유* 문제 해결 항목을 잠조하세요.

1. 설치 확인

   Docker을 설치한 후 제대로 작동하는지 확인하십시오. 또한 명령줄에서 Docker 명령을 실행할 수 있는지 확인하십시오(예: `docker ps`). 컨테이너를 설치하거나 가져오거나 가져올 필요가 없습니다. 필요에 따라 AWS SAMCLI가 자동으로 이 작업을 수행합니다.

Docker의 설치 문제가 발생하는 경우 추가 문제 해결 팁은 [Docs 웹 사이트](https://docs.docker.com/docker-for-mac/troubleshoot/)의 Docker 문제 해결 및 진단 섹션을 잠조하세요. 

### Windows
<a name="install-docker-instructions-windows"></a>

**참고**  
AWS SAM 는 공식적으로 Docker 데스크톱을 지원합니다. 그러나 AWS SAMCLI 버전 1.47.0부터는 Docker 런타임을 사용하는 한 대체 제품을 사용할 수 있습니다. 

1. Docker을 설치합니다.

   Docker 데스크톱은 최신 Windows 운영 체제를 지원합니다. 레거시 버전의 Windows의 경우 Docker Toolbox를 사용할 수 있습니다. 올바른 Docker 설치 단계를 위해 사용 중인 Windows 버전을 선택하십시오.
   + Docker을 [ Windows 10용으로 설치하려면 Docker Docs 웹 사이트](https://docs.docker.com/docker-for-windows/install/)에서 Docker Windows용 데스크톱 설치를 잠조하세요.
   + Docker을 이전 버전의 Windows용으로 설치하려면 [ Toolbox GitHubDocker 리포지토리](https://github.com/docker-archive/toolbox)의 DockerToolbox를 잠조하세요.

1. 공유 드라이브를 구성하십시오.

   를 AWS SAM CLI 사용하려면 프로젝트 디렉터리 또는 상위 디렉터리가 공유 드라이브에 나열되어야 합니다. 경우에 따라 Docker이 제대로 작동하게 하려면 드라이브를 공유해야 합니다.

1. 설치를 확인합니다.

   Docker을 설치한 후 제대로 작동하는지 확인하십시오. 또한 명령줄에서 Docker 명령을 실행할 수 있는지 확인하십시오(예: **docker ps**). 컨테이너를 설치하거나 가져오거나 가져올 필요가 없습니다. 필요에 따라 AWS SAMCLI가 자동으로 이 작업을 수행합니다.

Docker의 설치 문제가 발생하는 경우 추가 문제 해결 팁은 [Docs 웹 사이트](https://docs.docker.com/docker-for-mac/troubleshoot/)의 Docker 문제 해결 및 진단 섹션을 잠조하세요. 

## 다음 단계
<a name="install-docker-next-steps"></a>

를 설치하는 방법은 단원을 AWS SAM CLI참조하십시오[AWS SAM CLI 설치](install-sam-cli.md).

# AWS SAM CLI와 함께 Finch 사용하도록 설치
<a name="install-finch"></a>

Finch는 AWS의 대안Docker, 특히 macOS 및 Linux 시스템에 유용한 컨테이너 개발 도구입니다. 자세한 내용은 [Finch on GitHub](https://github.com/runfinch)을 참조하세요. 를 사용하면와 유사한 로컬 환경을 컨테이너 AWS Lambda 로 Finch AWS SAM 제공하여 서버리스 애플리케이션을 빌드, 테스트 및 디버깅할 수 있습니다.

**참고**  
애플리케이션을 로컬로 테스트하고, `--use-container` 옵션을 사용하여 배포 패키지를 빌드하며, OCI 이미지 함수를 빌드하려면 Finch이(가) 필요합니다. AWS SAM CLI 버전 1.145.0부터 AWS SAM CLI는에 대한 대체 컨테이너 런타임Finch으로를 지원합니다Docker.

**Topics**
+ [Finch 설치하기](#install-finch-instructions)
+ [AWS SAM CLIFinch를 사용하여 구성](#install-finch-configuration)
+ [설치 확인하기](#install-finch-verification)
+ [Finch 중지하기](#install-finch-stopping)
+ [문제 해결](#install-finch-troubleshooting)
+ [다음 단계](#install-finch-next-steps)

## Finch 설치하기
<a name="install-finch-instructions"></a>

Finch을 운영 체제 상에 설치하려면 이 지침을 따르십시오.

### 사전 조건
<a name="install-finch-prerequisites"></a>

**참고**  
Finch AWS SAM CLI 통합은 macOS 및 Linux 시스템에서 사용할 수 있습니다. Windows 사용자의 경우 Finch 기능을 위해 가상 머신 또는 Linux 환경을 사용하는 것이 좋습니다.

**macOS 버전:**
+ macOS 15 Sequoia
+ macOS 14 Sonoma

**참고**  
Finch은(는) 최신 두 버전의 macOS를 지원합니다.

**Linux**:
+ Linux 커널 v4.x\$1

### Finch 설치하기
<a name="install-finch"></a>

#### macOS
<a name="install-finch-instructions-macos"></a>

**macOS에 Finch를 설치하려면**

1. `brew` CLI를 사용하여 Finch을(를) 설치합니다. 프롬프트가 표시되면 macOS 암호를 입력합니다.

   ```
   $ brew install finch
   ```

1. 설치된 Finch 버전을 확인합니다.

   ```
   $ finch --version
   ```

1. Finch 가상 머신을 초기화합니다(처음 설정).

   ```
   $ finch vm init
   ```

1. Finch 가상 머신을 시작합니다.

   ```
   $ finch vm start
   ```

1. Finch 가상 머신의 상태를 확인합니다.

   ```
   $ finch vm status
   ```

1. Finch이(가) 올바르게 실행되는지 확인합니다.

   ```
   $ finch --info
   $ finch ps
   ```

자세한 내용은 [Finch on macOS 설치하기](https://runfinch.com/docs/managing-finch/macos/installation/)를 참조하세요.

#### Linux
<a name="install-finch-instructions-linux"></a>

Amazon Linux, Ubuntu 또는 일반 설치 방법을 사용하여 Finch을(를) 설치할 수 있습니다. 자세한 내용은 [Finch on Linux 설치하기](https://runfinch.com/docs/managing-finch/linux/installation/)를 참조하세요.

## AWS SAM CLIFinch를 사용하여 구성
<a name="install-finch-configuration"></a>

Finch를 설치한 후 AWS SAM CLI는 Docker가 실행되지 않을 때 컨테이너 런타임Finch으로를 자동으로 감지하고 사용합니다.

**참고**  
Finch은(는) Docker에 대한 폴백으로 작동합니다. Docker 및를 모두 Finch 설치하고 실행 중인 경우 AWS SAM 기본적으로 CLI가 우선 순위를 지정합니다Docker.

### 관리자 환경 설정 구성(macOS)
<a name="install-finch-configuration-preference"></a>

관리자 기본 설정 파일을 생성하여 특정 컨테이너 런타임을 기본값으로 사용하도록 AWS SAM CLI를 구성할 수 있습니다. 이 시스템 전체 환경 설정은 기본 대체 동작을 재정의합니다.

**사용 가능한 구성 옵션**
+ **Finch을(를) 선호하는 컨테이너 런타임으로 설정:**

  ```
  $ sudo /usr/libexec/PlistBuddy -c "Add :DefaultContainerRuntime string finch" /Library/Preferences/com.amazon.samcli.plist
  ```
+ **Docker을(를) 선호하는 컨테이너 런타임으로 설정:**

  ```
  $ sudo /usr/libexec/PlistBuddy -c "Add :DefaultContainerRuntime string docker" /Library/Preferences/com.amazon.samcli.plist
  ```
+ **환경 설정 제거(기본 동작으로 돌아가기):**

  ```
  $ sudo /usr/libexec/PlistBuddy -c "Remove :DefaultContainerRuntime" /Library/Preferences/com.amazon.samcli.plist
  ```

**참고**  
관리자 기본 설정이 설정되지 않은 경우 AWS SAM CLI는 Docker 기본적으로 사용 가능한 경우를 Docker가 실행 중이 아닐 때 폴백Finch으로 사용합니다.

### 디렉터리 탑재 차이점(macOS)
<a name="install-finch-differences"></a>

macOS에서는 홈 디렉터리(`~`) 또는 외부에서 프로젝트를 찾으면 AWS SAM 로컬 명령이 실패합니다`/Volumes`. 이 디자인은 보안상의 이유로 사용자 모르게 자동 디렉터리 탑재를 제한합니다.

**완화 옵션**
+ **옵션 1:** Finch 구성을 텍스트 편집기 `~/.finch/finch.yaml`에서 열고, `additional_directories` 섹션 아래에 프로젝트 경로를 추가한 후, Finch 가상 머신을 다시 시작하세요. 추가 정보는 [Finch 설명서](https://runfinch.com/docs/managing-finch/macos/disk-management/#adding-additional-disk-mounts)를 참조하세요.

  ```
  $ finch vm stop
  $ finch vm start
  ```
+ **옵션 2:** 프로젝트를 홈 디렉터리로 이동합니다.

## 설치 확인하기
<a name="install-finch-verification"></a>

를 설치하고 시작한 후 AWS SAM CLI에서 작동하는지 Finch확인합니다.

### 기본 확인
<a name="install-finch-verification-basic"></a>

다음 명령을 실행하여 AWS SAM CLI가를 사용할 수 있는지 확인합니다. Finch 

```
$ sam build --use-container
```

를 사용하여 컨테이너 환경에서 애플리케이션을 빌드Finch하는 AWS SAM CLI가 표시되어야 합니다.

**참고**  
Finch은(는) Docker에 대한 폴백으로 작동합니다. Docker가 실행 중인 경우 AWS SAM CLI는 Docker 기본적으로 우선 순위를 지정합니다.

### Finch을(를) 폴백으로 테스트하기
<a name="install-finch-verification-fallback"></a>

Docker이(가)가 실행 중일 때 Finch을(를) 폴백으로 테스트하려면, 먼저 Docker을(를) 중지해야 합니다.

**Finch 폴백 기능 테스트하기**

1. 운영 체제에 맞는 적절한 명령어를 사용하여 Docker을(를) 중지하세요.

   **macOS:**

   ```
   $ docker stop $(docker ps -q)
   $ pkill -f "Docker Desktop"
   ```

   Docker이(가) 중지되었는지 확인하세요.

   ```
   $ docker ps
   ```

   **Linux**:

   ```
   $ docker stop $(docker ps -q)
   $ sudo systemctl stop docker
   ```

   Docker이(가) 중지되었는지 확인하세요.

   ```
   $ sudo systemctl status docker
   ```

1. `sam build --use-container` 명령을 실행하여 AWS SAM CLI가 폴백Finch으로를 자동으로 사용하는지 확인합니다.

## Finch 중지하기
<a name="install-finch-stopping"></a>

Finch을(를) 중지해야 하는 경우, 다음 명령어를 사용하세요:

**macOS:**

```
$ finch vm stop
$ sudo pkill -f finch
```

Finch이(가) 중지되었는지 확인하세요.

```
$ finch vm status
```

**Linux**:

```
$ sudo systemctl stop finch
$ sudo pkill -f finch
```

Finch이(가) 중지되었는지 확인하세요.

```
$ sudo systemctl status finch
```

## 문제 해결
<a name="install-finch-troubleshooting"></a>

Finch에서 문제가 발생하면:
+ 운영 체제가 필수 조건을 충족하는지 확인하세요.
+ 시스템에서 가상화가 활성화되었는지 확인하세요.
+ macOS의 경우, 가상 머신에 충분한 디스크 스페이스가 있는지 확인하세요.
+ Linux의 경우, `systemctl` 명령어를 실행할 수 있는 적절한 권한이 있는지 확인하세요.
+ 다중 아키텍처 이미지를 Amazon Elastic Container Registry(Amazon ECR)로 푸시할 때 "미디어 유형이 지원되지 않음" 오류와 함께 CloudFormation 배포 실패가 발생하는 경우 다중 아키텍처 이미지를 사용하는 대신 단일 이미지 아티팩트를 생성합니다. 이것은 Finch이(가) 이미지 인덱스와 이미지를 모두 Amazon ECR로 푸시하는 반면, Docker은(는) 이미지만 푸시하기 때문에 발생합니다.
+ 대상 함수 아키텍처가 Linux 호스트 머신 아키텍처와 일치하지 않아 교차 플랫폼 빌드가 실패하면, `sudo finch run --privileged --rm tonistiigi/binfmt:master --install all`을(를) 실행하여 교차 플랫폼 에뮬레이션을 활성화하세요.

추가 문제 해결은 [Finch 설명서](https://runfinch.com/docs/) 또는 섹션을 참조하세요[AWS SAMCLI 문제 해결](sam-cli-troubleshooting.md).

## 다음 단계
<a name="install-finch-next-steps"></a>

이제를 Finch 설치했으므로 AWS SAM CLI와 함께 사용하여 다음을 수행할 수 있습니다.
+ `sam build --use-container`을(를) 사용하여 컨테이너로 서버리스 애플리케이션 빌드 자세한 내용은 [sam build](sam-cli-command-reference-sam-build.md) 단원을 참조하십시오.
+ `sam local invoke`을(를) 사용하여 로컬에서 Lambda 함수 테스트 자세한 내용은 [sam local invoke](sam-cli-command-reference-sam-local-invoke.md) 단원을 참조하십시오.
+ `sam local start-api`을(를) 사용하여 로컬 API Gateway 시작 자세한 내용은 [sam local start-api](sam-cli-command-reference-sam-local-start-api.md) 단원을 참조하십시오.
+ `sam local start-lambda`을(를) 사용하여 로컬 Lambda 엔드포인트 시작 자세한 내용은 [sam local start-lambda](sam-cli-command-reference-sam-local-start-lambda.md) 단원을 참조하십시오.

컨테이너와 함께 AWS SAM CLI를 사용하는 방법에 대한 자세한 내용은 섹션을 참조하세요[를 사용한 기본 빌드 AWS SAM](serverless-sam-cli-using-build.md).

# 의 이미지 리포지토리 AWS SAM
<a name="serverless-image-repositories"></a>

AWS SAM 는 컨테이너 이미지 빌드를 통해 서버리스 애플리케이션의 지속적 통합 및 지속적 전송(CI/CD) 작업을 간소화합니다. 에서 AWS SAM 제공하는 이미지에는 AWS SAM 명령줄 인터페이스(CLI)와 지원되는 여러 AWS Lambda 런타임을 위한 빌드 도구가 포함됩니다. 따라서 AWS SAMCLI를 사용하여 서버리스 애플리케이션을 쉽게 구축하고 패키징할 수 있습니다. 이러한 이미지를 CI/CD 시스템과 함께 사용하여 AWS SAM 애플리케이션 구축 및 배포를 자동화할 수 있습니다. 예시는 [CI/CD 시스템 및 파이프라인을 사용하여 배포](deploying-options.md#serverless-deploying-ci-cd) 섹션을 참조하세요.

AWS SAM 빌드 컨테이너 이미지 URIs 해당 이미지에 포함된 버전의 AWS SAM CLI 로 태그가 지정됩니다. 태그 없는 URI를 지정하면, 최신 버전이 사용됩니다. 예를 들어 `public.ecr.aws/sam/build-nodejs20.x`는 최신 이미지를 사용합니다. 하지만 `public.ecr.aws/sam/build-nodejs20.x:1.24.1`는 AWS SAM CLI 버전 1.24.1을 포함하는 이미지를 사용합니다.

의 버전 1.33.0부터 지원되는 런타임에 `x86_64` 및 `arm64` 컨테이너 이미지를 AWS SAM CLI모두 사용할 수 있습니다. 자세한 내용은 [ 개발자 가이드](https://docs.aws.amazon.com/lambda/latest/dg/lambda-runtimes.html)의 *AWS Lambda Lambda 런타임*을 참조하세요.

**참고**  
의 버전 1.22.0 이전에 AWS SAM CLI는 DockerHub가가 컨테이너 이미지를 AWS SAM CLI 가져온 기본 리포지토리였습니다. 버전 1.22.0부터 기본 리포지토리가 Amazon Elastic Container Registry 퍼블릭 (Amazon ECR 퍼블릭)으로 변경되었습니다. 현재 기본 사항이 아닌 다른 리포지토리에서 컨테이너 이미지를 가져오려면 **[sam build](sam-cli-command-reference-sam-build.md)** 명령을 **--build-image** 옵션과 함께 사용할 수 있습니다. 이 항목의 끝에 있는 예제는 DockerHub 리포지토리 이미지를 사용하여 애플리케이션을 구축하는 방법을 보여줍니다.

## 이미지 리포지토리 URI
<a name="serverless-image-repository-uris"></a>

다음 표에는 서버리스 애플리케이션을 빌드하고 패키징하는 데 사용할 수 있는 [Amazon ECR Public](https://docs.aws.amazon.com/AmazonECR/latest/public/what-is-ecr.html) 빌드 컨테이너 이미지의 URIs가 나열되어 있습니다 AWS SAM.

**참고**  
Amazon ECR 퍼블릭은 DockerHub AWS SAM버전 1.22.0부터 CLI을 대체했습니다. 이전 버전의를 사용하는 경우 업그레이드하는 AWS SAM CLI것이 좋습니다.


| 런타임 |  Amazon ECR 퍼블릭 | 
| --- | --- | 
| 사용자 지정 런타임(AL2023) | [public.ecr.aws/sam/build-provided.al2023](https://gallery.ecr.aws/sam/build-provided.al2023) | 
| 사용자 지정 런타임(AL2) | [public.ecr.aws/sam/build-provided.al2](https://gallery.ecr.aws/sam/build-provided.al2) | 
| 사용자 지정 런타임 | [public.ecr.aws/sam/build-provided](https://gallery.ecr.aws/sam/build-provided) | 
| Java 25 | [public.ecr.aws/sam/build-java25](https://gallery.ecr.aws/sam/build-java25) | 
| Java 21 | [public.ecr.aws/sam/build-java21](https://gallery.ecr.aws/sam/build-java21) | 
| Java 17 | [public.ecr.aws/sam/build-java17](https://gallery.ecr.aws/sam/build-java17) | 
| Java 11 | [public.ecr.aws/sam/build-java11](https://gallery.ecr.aws/sam/build-java11) | 
| Java 8 | [public.ecr.aws/sam/build-java8](https://gallery.ecr.aws/sam/build-java8) | 
| .NET 9 | [public.ecr.aws/sam/build-dotnet9](https://gallery.ecr.aws/sam/build-dotnet9) | 
| .NET 8 | [public.ecr.aws/sam/build-dotnet8](https://gallery.ecr.aws/sam/build-dotnet8) | 
| .NET 7 | [public.ecr.aws/sam/build-dotnet7](https://gallery.ecr.aws/sam/build-dotnet7) | 
| .NET 6 | [public.ecr.aws/sam/build-dotnet6](https://gallery.ecr.aws/sam/build-dotnet6) | 
| Node.js 24 | [public.ecr.aws/sam/build-nodejs24.x](https://gallery.ecr.aws/sam/build-nodejs24.x) | 
| Node.js 22 | [public.ecr.aws/sam/build-nodejs22.x](https://gallery.ecr.aws/sam/build-nodejs22.x) | 
| Node.js 20 | [public.ecr.aws/sam/build-nodejs20.x](https://gallery.ecr.aws/sam/build-nodejs20.x) | 
| Node.js 18 | [public.ecr.aws/sam/build-nodejs18.x](https://gallery.ecr.aws/sam/build-nodejs18.x) | 
| Node.js 16 | [public.ecr.aws/sam/build-nodejs16.x](https://gallery.ecr.aws/sam/build-nodejs16.x) | 
| Python 3.14 | [public.ecr.aws/sam/build-python3.14](https://gallery.ecr.aws/sam/build-python3.14) | 
| Python 3.13 | [public.ecr.aws/sam/build-python3.13](https://gallery.ecr.aws/sam/build-python3.13) | 
| Python 3.12 | [public.ecr.aws/sam/build-python3.12](https://gallery.ecr.aws/sam/build-python3.12) | 
| Python 3.11 | [public.ecr.aws/sam/build-python3.11](https://gallery.ecr.aws/sam/build-python3.11) | 
| Python 3.10 | [public.ecr.aws/sam/build-python3.10](https://gallery.ecr.aws/sam/build-python3.10) | 
| Python 3.9 | [public.ecr.aws/sam/build-python3.9](https://gallery.ecr.aws/sam/build-python3.9) | 
| Python 3.8 | [public.ecr.aws/sam/build-python3.8](https://gallery.ecr.aws/sam/build-python3.8) | 
| Ruby 3.4 | [public.ecr.aws/sam/build-ruby3.4](https://gallery.ecr.aws/sam/build-ruby3.4) | 
| Ruby 3.3 | [public.ecr.aws/sam/build-ruby3.3](https://gallery.ecr.aws/sam/build-ruby3.3) | 
| Ruby 3.2 | [public.ecr.aws/sam/build-ruby3.2](https://gallery.ecr.aws/sam/build-ruby3.2) | 

## 예제
<a name="serverless-image-repository-example-commands"></a>

다음 두 가지 예시 명령어는 이미지 리포지토리의 컨테이너 이미지를 사용하여 애플리케이션을 빌드합니다.

**Amazon ECR에서 가져온 컨테이너 이미지를 사용하여 Node.js 24 애플리케이션을 빌드하세요**

```
$ sam build --use-container --build-image public.ecr.aws/sam/build-nodejs24.x
```

**Amazon ECR에서 가져온 Python 3.14 컨테이너 이미지를 사용하여 함수 리소스를 구축하세요**

```
$ sam build --use-container --build-image Function1=public.ecr.aws/sam/build-python3.14
```

# 를 사용하여 서버리스 애플리케이션 점진적으로 배포 AWS SAM
<a name="automating-updates-to-serverless-apps"></a>

AWS Serverless Application Model (AWS SAM)는 점진적 AWS Lambda 배포를 제공하기 위해 [CodeDeploy](https://docs.aws.amazon.com/codedeploy/latest/userguide/welcome.html)와 함께 기본 제공됩니다. 몇 줄의 구성만으로는 다음을 AWS SAM 수행합니다.
+ Lambda 함수의 새 버전을 배포하고 새 버전을 가리키는 별칭을 자동으로 생성합니다.
+ 예상대로 작동한다고 확신할 때까지 고객 트래픽을 새 버전으로 점진적으로 이동시킵니다. 업데이트가 제대로 작동하지 않는 경우 변경 내용을 롤백할 수 있습니다.
+ 새로 배포된 코드가 올바르게 구성되었고 애플리케이션이 예상대로 작동하는지 확인하는 사전 트래픽 및 사후 트래픽 테스트 함수를 정의합니다.
+ CloudWatch 경보가 트리거되면 배포를 자동으로 롤백합니다.

**참고**  
 AWS SAM 템플릿을 통해 점진적 배포를 활성화하면 CodeDeploy 리소스가 자동으로 생성됩니다. AWS Management Console를 통해 CodeDeploy 리소스를 직접 볼 수 있습니다.

**예제**

다음 예제는 CodeDeploy를 사용하여 고객을 새로 배포된 Lambda 함수 버전으로 점진적으로 전환하는 방법을 보여줍니다.

```
Resources:
MyLambdaFunction:
  Type: AWS::Serverless::Function
  Properties:
    Handler: index.handler
    Runtime: nodejs20.x
    CodeUri: s3://bucket/code.zip

    AutoPublishAlias: live

    DeploymentPreference:
      Type: Canary10Percent10Minutes 
      Alarms:
        # A list of alarms that you want to monitor
        - !Ref AliasErrorMetricGreaterThanZeroAlarm
        - !Ref LatestVersionErrorMetricGreaterThanZeroAlarm
      Hooks:
        # Validation Lambda functions that are run before & after traffic shifting
        PreTraffic: !Ref PreTrafficLambdaFunction
        PostTraffic: !Ref PostTrafficLambdaFunction
```

 AWS SAM 템플릿에 대한 이러한 개정은 다음을 수행합니다.
+ `AutoPublishAlias`:이 속성을 추가하고 별칭 이름을 지정하여 AWS SAM다음을 수행합니다.
  + Lambda 함수의 Amazon S3 URI에 대한 변경 내용을 기반으로 새 코드가 배포되는 시기를 감지합니다.
  + 최신 코드를 사용하여 해당 함수의 업데이트된 버전을 생성하고 게시합니다.
  + 제공한 이름으로 별칭을 생성하고(별칭이 이미 존재하지 않는 경우) Lambda 함수의 업데이트된 버전을 가리킵니다. 이를 활용하려면 함수 호출 시 별칭 한정자를 사용해야 합니다. 귀하가 Lambda 함수 버전 관리 및 별칭에 익숙하지 않은 경우, [함수 버전 관리 및 별칭AWS Lambda](https://docs.aws.amazon.com/lambda/latest/dg/versioning-aliases.html)을 잠조하세요.
+ `Deployment Preference Type`: 이전 예시에서는 귀하의 고객 트래픽의 10%가 즉시 새 버전으로 이동합니다. 10분 후 모든 트래픽이 새 버전으로 이동합니다. 하지만 사전 트래픽 또는 사후 트래픽 테스트가 실패하거나 CloudWatch 경보가 트리거되는 경우 CodeDeploy는 배포를 롤백합니다. 다음과 같은 방법으로 버전 간에 트래픽을 이동하는 방법을 지정할 수 있습니다.
  + `Canary`: 트래픽이 2 증분씩 이동합니다. 사전 정의된 canary 옵션 중에서 선택할 수 있습니다. 이 옵션은 나머지 트래픽이 두 번째 증분으로 이동하기 전에 첫 증분에서 업데이트된 Lambda 함수 버전으로 이동할 트래픽 비율(%)과 간격(분)을 지정합니다.
  + `Linear`: 트래픽이 동일한 증분으로 이동하며 각 증분 간 시간(분)은 동일합니다. 각 증분에서 이동할 트래픽 비율(%)과 각 증분 간의 시간 간격(분)을 지정하는 사전 정의된 선형 옵션에서 선택할 수 있습니다.
  + `AllAtOnce`: 모든 트래픽이 기존 Lambda 함수에서 업데이트된 Lambda 함수 버전으로 한번에 이동합니다.

  다음 표에는 예제에 사용된 옵션 외에 사용할 수 있는 기타 트래픽 이동 옵션이 요약되어 있습니다.    
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ko_kr/serverless-application-model/latest/developerguide/automating-updates-to-serverless-apps.html)
+ `Alarms`: 이들은 배포에서 발생한 오류로 인해 트리거되는 CloudWatch 경보입니다. 이들은 발생하면 귀하의 배포를 자동으로 롤백합니다. 예를 들어, 배포하려는 업데이트된 코드로 인해 애플리케이션 내에서 오류가 발생하는 경우입니다. 또 다른 예는 [AWS Lambda](https://docs.aws.amazon.com/lambda/latest/dg/monitoring-functions-metrics.html) 또는 귀하가 지정한 사용자 지정 CloudWatch 지표가 경보 임계값을 위반한 경우입니다.
+ `Hooks`: 이들은 새 버전으로 트래픽 이동이 시작되기 전과 트래픽 이동이 완료된 후에 검사를 실행하는 사전 트래픽 및 사후 트래픽 테스트 함수입니다.
  + `PreTraffic`: 트래픽 이동이 시작되기 전에 CodeDeploy는 사전 트래픽 후크 Lambda 함수를 호출합니다. 이 Lambda 함수는 CodeDeploy를 다시 호출하고 성공 또는 실패를 표시해야 합니다. 함수가 실패하면를 중단하고 실패를에 다시 보고합니다 CloudFormation. 함수가 성공하면 CodeDeploy는 트래픽 이동을 진행합니다.
  + `PostTraffic`: 트래픽 이동이 완료되면 CodeDeploy는 사후 트래픽 후크 Lambda 함수를 호출합니다. 이는 함수가 CodeDeploy를 다시 호출하여 성공 또는 실패를 보고해야 하는 사전 트래픽 후크와 유사합니다. 사후 트래픽 후크를 사용하여 통합 테스트 또는 기타 검증 작업을 실행할 수 있습니다.

  자세한 내용을 알아보려면 [안전 배포 SAM 참조](https://github.com/aws/serverless-application-model/blob/master/docs/safe_lambda_deployments.rst)를 잠조하세요.

## Lambda 함수를 처음으로 점진적으로 배포
<a name="automating-updates-to-serverless-apps-first-time"></a>

 Lambda 함수를 점진적으로 배포하는 경우 CodeDeploy에서 트래픽을 이동하려면 이전에 배포한 함수 버전이 필요합니다. 따라서 첫 번째 배포는 다음 두 단계로 수행해야 합니다.
+ **1단계**: Lambda 함수를 배포하고 `AutoPublishAlias`를 사용하여 자동으로 별칭을 생성합니다.
+ **2단계**: `DeploymentPreference`를 사용하여 점진적 배포를 수행합니다.

첫 번째 점진적 배포를 두 단계로 수행하면 CodeDeploy는 트래픽을 이동할 수 있는 이전 Lambda 함수 버전을 제공합니다.

### 1단계: Lambda 함수 배포
<a name="automating-updates-to-serverless-apps-first-time-step1"></a>

```
Resources:
MyLambdaFunction:
  Type: AWS::Serverless::Function
  Properties:
    Handler: index.handler
    Runtime: nodejs20.x
    CodeUri: s3://bucket/code.zip

    AutoPublishAlias: live
```

### 2단계: 점진적 배포 수행
<a name="automating-updates-to-serverless-apps-first-time-step2"></a>

```
Resources:
MyLambdaFunction:
  Type: AWS::Serverless::Function
  Properties:
    Handler: index.handler
    Runtime: nodejs20.x
    CodeUri: s3://bucket/code.zip

    AutoPublishAlias: live

    DeploymentPreference:
      Type: Canary10Percent10Minutes 
      Alarms:
        # A list of alarms that you want to monitor
        - !Ref AliasErrorMetricGreaterThanZeroAlarm
        - !Ref LatestVersionErrorMetricGreaterThanZeroAlarm
      Hooks:
        # Validation Lambda functions that are run before and after traffic shifting
        PreTraffic: !Ref PreTrafficLambdaFunction
        PostTraffic: !Ref PostTrafficLambdaFunction
```

## 자세히 알아보기
<a name="automating-updates-to-serverless-apps-learn"></a>

점진적 배포를 구성하는 실제 예제는 *전체 AWS SAM 워크숍*의 [모듈 5 - Canary 배포](https://s12d.com/sam-ws-en-canaries)를 잠조하세요.

# 에 대한 중요 참조 정보 AWS SAM
<a name="important-notes"></a>

이 단원에는 AWS Serverless Application Model ()에 대한 중요 참고 사항과 공지 사항이 포함되어 있습니다AWS SAM.

**Topics**
+ [2023년 중요 정보](#important-notes-2023)

## 2023년 중요 정보
<a name="important-notes-2023"></a>

### 2023년 10월
<a name="important-notes-2023-10"></a>

#### AWS SAMCLI가 Python 3.7에 대한 지원 중단
<a name="important-notes-2023-10-python"></a>

*2023년 10월 20일 게시*

Python 3.7는 2023년 6월에 수명 종료 상태를 지정 받았습니다. 는 AWS SAM CLI2023년 10월 24Python 3.7일에에 대한 지원을 중단할 예정입니다. 자세한 내용은 [aws-sam-cli ](https://github.com/aws/aws-sam-cli/issues/5889)*리포지토리의 GitHub공지*를 참조하세요.

이 변경은 다음 사용자에게 영향을 미칩니다.
+ Python 3.7를 사용하고를 통해를 AWS SAM CLI 설치하는 경우`pip`.
+ `aws-sam-cli`을 라이브러리로 사용하고 Python 3.7를 사용하여 애플리케이션을 구축하는 경우입니다.

다른 방법을 통해를 AWS SAM CLI 설치하고 관리하는 경우 영향을 받지 않습니다.

영향을 받는 사용자의 경우 개발 환경을 Python 3.8 또는 신규 버전으로 업그레이드하는 것이 좋습니다. 

이 변경 사항은 Python 3.7 AWS Lambda 런타임 환경에 대한 지원에 영향을 주지 않습니다. 자세한 내용은 [ 개발자 가이드](https://docs.aws.amazon.com/lambda/latest/dg/lambda-runtimes.html#runtime-support-policy)의 *AWS Lambda 런타임 중단 정책*을 참조하세요.