

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

# sam remote test-event를 사용한 클라우드 테스트 소개
<a name="using-sam-cli-remote-test-event"></a>

 AWS Serverless Application Model 명령줄 인터페이스(AWS SAM CLI) `sam remote test-event` 명령을 사용하여 AWS Lambda 함수에 대한 공유 가능한 테스트 이벤트에 액세스하고 관리합니다.

공유 가능한 테스트 이벤트에 대해 자세히 알아보려면 *AWS Lambda 개발자 안내서*의 [공유 가능한 테스트 이벤트](https://docs.aws.amazon.com/lambda/latest/dg/testing-functions.html#creating-shareable-events) 섹션을 참조하세요.

**Topics**
+ [sam remote test-event를 사용하도록 AWS SAMCLI를 설정합니다.](#using-sam-cli-remote-test-event-setup)
+ [sam remote test-event 명령 사용](#using-sam-cli-remote-test-event-use)
+ [공유 가능한 테스트 이벤트 사용](#using-sam-cli-remote-test-event-invoke)
+ [공유 가능한 테스트 이벤트 관리](#using-sam-cli-remote-test-event-manage)

## 사전 조건
<a name="using-sam-cli-remote-test-event-prerequisites"></a>

`sam remote test-event`를 사용하려면 다음을 완료하여 AWS SAM CLI를 설치합니다.
+ [AWS SAM 사전 조건](prerequisites.md).
+ [AWS SAM CLI 설치](install-sam-cli.md).

가 AWS SAM CLI 이미 설치되어 있는 경우 최신 버전의 버전으로 업그레이드하는 AWS SAM CLI 것이 좋습니다. 자세한 내용은 [AWS SAMCLI업그레이드](manage-sam-cli-versions.md#manage-sam-cli-versions-upgrade) 섹션을 참조하세요.

`sam remote test-event`를 사용하기 전에 다음 사항에 대한 기본적인 이해를 하는 것이 좋습니다.
+ [AWS SAM CLI 구성](using-sam-cli-configure.md).
+ [에서 애플리케이션 생성 AWS SAM](using-sam-cli-init.md).
+ [를 사용한 빌드 소개 AWS SAM](using-sam-cli-build.md).
+ [를 사용한 배포 소개 AWS SAM](using-sam-cli-deploy.md).
+ [를 사용하여 sam sync에 동기화 소개 AWS 클라우드](using-sam-cli-sync.md).

## sam remote test-event를 사용하도록 AWS SAMCLI를 설정합니다.
<a name="using-sam-cli-remote-test-event-setup"></a>

`sam remote test-event` 명령을 사용하려면 다음 설정 단계를 완료합니다. AWS SAM CLI 

1. **를 AWS SAM CLI 사용하도록 구성 AWS 계정** - Lambda에 대한 공유 가능한 테스트 이벤트는 동일한 내의 사용자가 액세스하고 관리할 수 있습니다 AWS 계정. 를 AWS SAM CLI 사용하도록를 구성하려면 섹션을 AWS 계정참조하세요[AWS SAM CLI 구성](using-sam-cli-configure.md).

1. **공유 가능한 테스트 이벤트에 대한 권한을 구성합니다.** - 공유 가능한 테스트 이벤트에 액세스하고 관리하려면 적절한 권한이 있어야 합니다. 자세히 알아보려면 *AWS Lambda 개발자 안내서*의 [공유 가능한 테스트 이벤트](https://docs.aws.amazon.com/lambda/latest/dg/testing-functions.html#creating-shareable-events) 섹션을 참조하세요.

## sam remote test-event 명령 사용
<a name="using-sam-cli-remote-test-event-use"></a>

`sam remote test-event` 명령은 AWS SAM CLI 공유 가능한 테스트 이벤트에 액세스하고 관리하는 데 사용할 수 있는 다음 하위 명령을 제공합니다.
+ `delete` - Amazon EventBridge 스키마 레지스트리에서 공유 가능한 테스트 이벤트를 삭제합니다.
+ `get` - EventBridge 스키마 레지스트리에서 공유 가능한 테스트 이벤트를 가져옵니다.
+ `list` - EventBridge 스키마 레지스트리에서 함수에 대한 기존의 공유 가능한 테스트 이벤트를 나열합니다.
+ `put` - 로컬 파일의 이벤트를 EventBridge 스키마 레지스트리에 저장합니다.

를 사용하여 이러한 하위 명령을 나열하려면 다음을 AWS SAM CLI실행합니다.

```
$ sam remote test-event --help
```

### 공유 가능한 테스트 이벤트 삭제
<a name="using-sam-cli-remote-test-event-use-delete"></a>

다음과 함께 `delete` 하위 명령을 사용하여 공유 가능한 테스트 이벤트를 삭제할 수 있습니다.
+ 삭제할 공유 가능한 테스트 이벤트의 이름을 제공합니다.
+ 이벤트와 연결된 Lambda 함수의 허용 가능한 ID를 제공합니다.
+ Lambda 함수 논리적 ID를 제공하는 경우 Lambda 함수와 연결된 AWS CloudFormation 스택 이름도 제공해야 합니다.

다음은 예제입니다.

```
$ sam remote test-event delete HelloWorldFunction --stack-name sam-app --name demo-event
```

`delete` 하위 명령과 함께 사용할 옵션 목록은 [sam remote test-event delete](sam-cli-command-reference-remote-test-event-delete.md) 섹션을 참조하세요. AWS SAM CLI다음에서 다음을 실행할 수도 있습니다.

```
$ sam remote test-event delete --help
```

### 공유 가능한 테스트 이벤트 생성
<a name="using-sam-cli-remote-test-event-use-get"></a>

다음과 함께 `get` 하위 명령을 사용하여 EventBridge 스키마 레지스트리에서 공유 가능한 테스트 이벤트를 가져올 수 있습니다.
+ 가져올 공유 가능한 테스트 이벤트의 이름을 제공합니다.
+ 이벤트와 연결된 Lambda 함수의 허용 가능한 ID를 제공합니다.
+ Lambda 함수 논리적 ID를 제공하는 경우 Lambda 함수와 연결된 AWS CloudFormation 스택 이름도 제공해야 합니다.

다음은 `sam-app` 스택의 `HelloWorldFunction` Lambda 함수와 연결된 `demo-event`라는 공유 가능한 테스트 이벤트를 가져오는 예제입니다. 이 명령은 이벤트를 콘솔에 인쇄합니다.

```
$ sam remote test-event get HelloWorldFunction --stack-name sam-app --name demo-event
```

공유 가능한 테스트 이벤트를 가져와 로컬 컴퓨터에 저장하려면 `--output-file` 옵션을 사용하고 파일 경로와 이름을 제공합니다. 다음은 현재 작업 디렉터리에 `demo-event`를 `demo-event.json`로 저장하는 예제입니다.

```
$ sam remote test-event get HelloWorldFunction --stack-name sam-app --name demo-event --output-file demo-event.json
```

`get` 하위 명령과 함께 사용할 옵션 목록은 [sam remote test-event get](sam-cli-command-reference-remote-test-event-get.md) 섹션을 참조하세요. AWS SAM CLI다음에서 다음을 실행할 수도 있습니다.

```
$ sam remote test-event get --help
```

### 공유 가능한 테스트 이벤트 나열
<a name="using-sam-cli-remote-test-event-use-list"></a>

스키마 레지스트리에서 특정 Lambda 함수에 대한 모든 공유 가능한 테스트 이벤트를 나열할 수 있습니다. 다음과 함께 `list` 하위 명령을 사용합니다.
+ 이벤트와 연결된 Lambda 함수의 허용 가능한 ID를 제공합니다.
+ Lambda 함수 논리적 ID를 제공하는 경우 Lambda 함수와 연결된 CloudFormation 스택 이름도 제공해야 합니다.

다음은 `sam-app` 스택의 `HelloWorldFunction` Lambda 함수와 관련된 모든 공유 가능한 테스트 이벤트 목록을 가져오는 예제입니다.

```
$ sam remote test-event list HelloWorldFunction --stack-name sam-app
```

`list` 하위 명령과 함께 사용할 옵션 목록은 [sam remote test-event list](sam-cli-command-reference-remote-test-event-list.md) 섹션을 참조하세요. AWS SAM CLI다음에서 다음을 실행할 수도 있습니다.

```
$ sam remote test-event list --help
```

### 공유 가능한 테스트 이벤트 저장
<a name="using-sam-cli-remote-test-event-use-put"></a>

공유 가능한 테스트 이벤트를 EventBridge 스키마 레지스트리에 저장할 수 있습니다. 다음과 함께 `put` 하위 명령을 사용합니다.
+ 공유 가능한 테스트 이벤트와 관련된 Lambda 함수의 허용 가능한 ID를 제공합니다.
+ 공유 가능한 테스트 이벤트의 이름을 제공합니다.
+ 업로드할 로컬 이벤트의 파일 경로와 이름을 제공합니다.

다음은 로컬 `demo-event.json` 이벤트를 `demo-event`로 저장하고 이를 `sam-app` 스택의 `HelloWorldFunction` Lambda 함수와 연결하는 예제입니다.

```
$ sam remote test-event put HelloWorldFunction --stack-name sam-app --name demo-event --file demo-event.json
```

동일한 이름의 공유 가능한 테스트 이벤트가 EventBridge 스키마 레지스트리 AWS SAM CLI에 있는 경우는 이를 덮어쓰지 않습니다. 덮어쓰려면 `--force` 옵션을 명령에 추가합니다.

`put` 하위 명령과 함께 사용할 옵션 목록은 [sam remote test-event put](sam-cli-command-reference-remote-test-event-put.md) 섹션을 참조하세요. AWS SAM CLI다음에서 다음을 실행할 수도 있습니다.

```
$ sam remote test-event put --help
```

## 공유 가능한 테스트 이벤트 사용
<a name="using-sam-cli-remote-test-event-invoke"></a>

공유 가능한 테스트 이벤트를 사용하여 `sam remote invoke` 명령을 사용하여에서 Lambda 함수 AWS 클라우드 를 테스트합니다. 자세한 내용은 [공유 가능한 테스트 이벤트를 클라우드의 Lambda 함수에 전달](using-sam-cli-remote-invoke.md#using-sam-cli-remote-invoke-shareable)를 참조하세요.

## 공유 가능한 테스트 이벤트 관리
<a name="using-sam-cli-remote-test-event-manage"></a>

이 주제에는 공유 가능한 테스트 이벤트를 관리하고 사용하는 방법에 대한 예제가 포함되어 있습니다.

### 공유 가능한 테스트 이벤트를 가져와 수정하고 사용하기
<a name="using-sam-cli-remote-test-event-manage-example1"></a>

EventBridge 스키마 레지스트리에서 공유 가능한 테스트 이벤트를 가져오고, 로컬에서 수정하고, AWS 클라우드에서 Lambda 함수와 함께 로컬 테스트 이벤트를 사용할 수 있습니다. 다음은 예제입니다.

1. **공유 가능한 테스트 이벤트 검색** - `sam remote test-event get` 하위 명령을 사용하여 특정 Lambda 함수에 대한 공유 가능한 테스트 이벤트를 검색하고 로컬에 저장합니다.

   ```
   $ sam remote test-event get HelloWorldFunction --stack-name sam-app --name demo-event --output-file demo-event.json
   ```

1. **공유 가능한 테스트 이벤트 수정** - 원하는 텍스트 편집기를 사용하여 공유 가능한 테스트 이벤트를 수정합니다.

1. **공유 가능한 테스트 이벤트 사용** - `sam remote invoke` 명령을 사용하고 이벤트의 파일 경로와 이름을 `--event-file`로 입력합니다.

   ```
   $ sam remote invoke HelloWorldFunction --stack-name sam-app --event-file demo-event.json
   ```

### 공유 가능한 테스트 이벤트를 가져와 수정하고 업로드하고 사용하기
<a name="using-sam-cli-remote-test-event-manage-example2"></a>

EventBridge 스키마 레지스트리에서 공유 가능한 테스트 이벤트를 가져와서 로컬에서 수정하고 업로드할 수 있습니다. 그런 다음 공유 가능한 테스트 이벤트를 AWS 클라우드의 Lambda 함수에 직접 전달할 수 있습니다. 다음은 예제입니다.

1. **공유 가능한 테스트 이벤트 검색** - `sam remote test-event get` 하위 명령을 사용하여 특정 Lambda 함수에 대한 공유 가능한 테스트 이벤트를 검색하고 로컬에 저장합니다.

   ```
   $ sam remote test-event get HelloWorldFunction --stack-name sam-app --name demo-event --output-file demo-event.json
   ```

1. **공유 가능한 테스트 이벤트 수정** - 원하는 텍스트 편집기를 사용하여 공유 가능한 테스트 이벤트를 수정합니다.

1. **공유 가능한 테스트 이벤트 업로드** - `sam remote test-event put` 하위 명령을 사용하여 공유 가능한 테스트 이벤트를 EventBridge 스키마 레지스트리에 업로드하고 저장합니다. 이 예제에서는 `--force` 옵션을 사용하여 공유 가능 테스트의 이전 버전을 덮어씁니다.

   ```
   $ sam remote test-event put HelloWorldFunction --stack-name sam-app --name demo-event --file demo-event.json --force
   ```

1. **공유 가능한 테스트 이벤트를 Lambda 함수로 전달** - `sam remote invoke` 명령을 사용하여 공유 가능한 테스트 이벤트를 AWS 클라우드의 Lambda 함수에 직접 전달합니다.

   ```
   $ sam remote invoke HelloWorldFunction --stack-name sam-app --test-event-name demo-event
   ```