sam remote test-event를 사용한 클라우드 테스트 소개
AWS Serverless Application Model Command Line Interface(AWS SAM CLI) sam remote test-event
명령을 사용하여 AWS Lambda 함수의 공유 가능한 테스트 이벤트에 액세스하고 관리할 수 있습니다.
공유 가능한 테스트 이벤트에 대해 자세히 알아보려면 AWS Lambda 개발자 안내서의 공유 가능한 테스트 이벤트 섹션을 참조하세요.
주제
sam remote test-event
를 사용하려면 다음을 완료하여 AWS SAM CLI를 설치합니다.
이미 AWS SAM CLI를 설치한 경우 최신 버전의 AWS SAM CLI 버전으로 업그레이드하는 것이 좋습니다. 자세한 내용은 AWS SAMCLI업그레이드 섹션을 참조하세요.
sam remote test-event
를 사용하기 전에 다음 사항에 대한 기본적인 이해를 하는 것이 좋습니다.
sam remote test-event를 사용하도록 AWS SAMCLI를 설정합니다.
AWS SAM CLI sam remote test-event
명령을 사용하려면 다음 설정 단계를 완료합니다.
-
AWS 계정를 사용하도록 AWS SAM CLI를 구성하세요.- Lambda의 공유 가능한 테스트 이벤트는 동일한 AWS 계정 내에서 사용자가 액세스하고 관리할 수 있습니다. AWS 계정를 사용하도록 AWS SAM CLI를 구성하려면 AWS SAM CLI 구성 섹션을 참조하세요.
-
공유 가능한 테스트 이벤트에 대한 권한을 구성합니다. - 공유 가능한 테스트 이벤트에 액세스하고 관리하려면 적절한 권한이 있어야 합니다. 자세히 알아보려면 AWS Lambda 개발자 안내서의 공유 가능한 테스트 이벤트 섹션을 참조하세요.
sam remote test-event 명령 사용
이 AWS SAM CLI sam remote test-event
명령은 공유 가능한 테스트 이벤트에 액세스하고 관리하는 데 사용할 수 있는 다음과 같은 하위 명령을 제공합니다.
-
delete
- Amazon EventBridge 스키마 레지스트리에서 공유 가능한 테스트 이벤트를 삭제합니다. -
get
- EventBridge 스키마 레지스트리에서 공유 가능한 테스트 이벤트를 가져옵니다. -
list
- EventBridge 스키마 레지스트리에서 함수에 대한 기존의 공유 가능한 테스트 이벤트를 나열합니다. -
put
- 로컬 파일의 이벤트를 EventBridge 스키마 레지스트리에 저장합니다.
AWS SAM CLI를 사용하여 이러한 하위 명령을 나열하려면 다음을 실행합니다.
$
sam remote test-event --help
공유 가능한 테스트 이벤트 삭제
다음과 함께 delete
하위 명령을 사용하여 공유 가능한 테스트 이벤트를 삭제할 수 있습니다.
-
삭제할 공유 가능한 테스트 이벤트의 이름을 제공합니다.
-
이벤트와 연결된 Lambda 함수의 허용 가능한 ID를 제공합니다.
-
Lambda 함수 논리적 ID를 제공하는 경우 Lambda 함수와 관련된 AWS CloudFormation 스택 이름도 제공해야 합니다.
다음은 그 예제입니다.
$
sam remote test-event delete
HelloWorldFunction
--stack-namesam-app
--namedemo-event
delete
하위 명령과 함께 사용할 옵션 목록은 sam remote test-event delete 섹션을 참조하세요. AWS SAM CLI에서 다음을 수행할 수도 있습니다.
$
sam remote test-event delete --help
공유 가능한 테스트 이벤트 생성
다음과 함께 get
하위 명령을 사용하여 EventBridge 스키마 레지스트리에서 공유 가능한 테스트 이벤트를 가져올 수 있습니다.
-
가져올 공유 가능한 테스트 이벤트의 이름을 제공합니다.
-
이벤트와 연결된 Lambda 함수의 허용 가능한 ID를 제공합니다.
-
Lambda 함수 논리적 ID를 제공하는 경우 Lambda 함수와 관련된 AWS CloudFormation 스택 이름도 제공해야 합니다.
다음은 sam-app
스택의 HelloWorldFunction
Lambda 함수와 연결된 demo-event
라는 공유 가능한 테스트 이벤트를 가져오는 예제입니다. 이 명령은 이벤트를 콘솔에 인쇄합니다.
$
sam remote test-event get
HelloWorldFunction
--stack-namesam-app
--namedemo-event
공유 가능한 테스트 이벤트를 가져와 로컬 컴퓨터에 저장하려면 --output-file
옵션을 사용하고 파일 경로와 이름을 제공합니다. 다음은 현재 작업 디렉터리에 demo-event
를 demo-event.json
로 저장하는 예제입니다.
$
sam remote test-event get
HelloWorldFunction
--stack-namesam-app
--namedemo-event
--output-filedemo-event.json
get
하위 명령과 함께 사용할 옵션 목록은 sam remote test-event get 섹션을 참조하세요. AWS SAM CLI에서 다음을 수행할 수도 있습니다.
$
sam remote test-event get --help
공유 가능한 테스트 이벤트 나열
스키마 레지스트리에서 특정 Lambda 함수에 대한 모든 공유 가능한 테스트 이벤트를 나열할 수 있습니다. 다음과 함께 list
하위 명령을 사용합니다.
-
이벤트와 연결된 Lambda 함수의 허용 가능한 ID를 제공합니다.
-
Lambda 함수 논리적 ID를 제공하는 경우 Lambda 함수와 관련된 AWS CloudFormation 스택 이름도 제공해야 합니다.
다음은 sam-app
스택의 HelloWorldFunction
Lambda 함수와 관련된 모든 공유 가능한 테스트 이벤트 목록을 가져오는 예제입니다.
$
sam remote test-event list
HelloWorldFunction
--stack-namesam-app
list
하위 명령과 함께 사용할 옵션 목록은 sam remote test-event list 섹션을 참조하세요. AWS SAM CLI에서 다음을 수행할 수도 있습니다.
$
sam remote test-event list --help
공유 가능한 테스트 이벤트 저장
공유 가능한 테스트 이벤트를 EventBridge 스키마 레지스트리에 저장할 수 있습니다. 다음과 함께 put
하위 명령을 사용합니다.
-
공유 가능한 테스트 이벤트와 관련된 Lambda 함수의 허용 가능한 ID를 제공합니다.
-
공유 가능한 테스트 이벤트의 이름을 제공합니다.
-
업로드할 로컬 이벤트의 파일 경로와 이름을 제공합니다.
다음은 로컬 demo-event.json
이벤트를 demo-event
로 저장하고 이를 sam-app
스택의 HelloWorldFunction
Lambda 함수와 연결하는 예제입니다.
$
sam remote test-event put
HelloWorldFunction
--stack-namesam-app
--namedemo-event
--filedemo-event.json
EventBridge 스키마 레지스트리에 이름이 같은 공유 가능한 테스트 이벤트가 있는 경우 AWS SAM CLI는 이를 덮어쓰지 않습니다. 덮어쓰려면 --force
옵션을 명령에 추가합니다.
put
하위 명령과 함께 사용할 옵션 목록은 sam remote test-event put 섹션을 참조하세요. AWS SAM CLI에서 다음을 수행할 수도 있습니다.
$
sam remote test-event put --help
공유 가능한 테스트 이벤트 사용
공유 가능한 테스트 이벤트를 사용하여 sam remote invoke
명령으로 AWS 클라우드에서 Lambda 함수를 테스트합니다. 자세한 내용은 공유 가능한 테스트 이벤트를 클라우드의 Lambda 함수에 전달을 참조하십시오.
공유 가능한 테스트 이벤트 관리
이 주제에는 공유 가능한 테스트 이벤트를 관리하고 사용하는 방법에 대한 예제가 포함되어 있습니다.
공유 가능한 테스트 이벤트를 가져와 수정하고 사용하기
EventBridge 스키마 레지스트리에서 공유 가능한 테스트 이벤트를 가져오고, 로컬에서 수정하고, AWS 클라우드에서 Lambda 함수와 함께 로컬 테스트 이벤트를 사용할 수 있습니다. 다음은 그 예제입니다.
-
공유 가능한 테스트 이벤트 검색 -
sam remote test-event get
하위 명령을 사용하여 특정 Lambda 함수에 대한 공유 가능한 테스트 이벤트를 검색하고 로컬에 저장합니다.$
sam remote test-event get
HelloWorldFunction
--stack-namesam-app
--namedemo-event
--output-filedemo-event.json
-
공유 가능한 테스트 이벤트 수정 - 원하는 텍스트 편집기를 사용하여 공유 가능한 테스트 이벤트를 수정합니다.
-
공유 가능한 테스트 이벤트 사용 -
sam remote invoke
명령을 사용하고 이벤트의 파일 경로와 이름을--event-file
로 입력합니다.$
sam remote invoke
HelloWorldFunction
--stack-namesam-app
--event-filedemo-event.json
공유 가능한 테스트 이벤트를 가져와 수정하고 업로드하고 사용하기
EventBridge 스키마 레지스트리에서 공유 가능한 테스트 이벤트를 가져와서 로컬에서 수정하고 업로드할 수 있습니다. 그런 다음 공유 가능한 테스트 이벤트를 AWS 클라우드의 Lambda 함수에 직접 전달할 수 있습니다. 다음은 그 예제입니다.
-
공유 가능한 테스트 이벤트 검색 -
sam remote test-event get
하위 명령을 사용하여 특정 Lambda 함수에 대한 공유 가능한 테스트 이벤트를 검색하고 로컬에 저장합니다.$
sam remote test-event get
HelloWorldFunction
--stack-namesam-app
--namedemo-event
--output-filedemo-event.json
-
공유 가능한 테스트 이벤트 수정 - 원하는 텍스트 편집기를 사용하여 공유 가능한 테스트 이벤트를 수정합니다.
-
공유 가능한 테스트 이벤트 업로드 -
sam remote test-event put
하위 명령을 사용하여 공유 가능한 테스트 이벤트를 EventBridge 스키마 레지스트리에 업로드하고 저장합니다. 이 예제에서는--force
옵션을 사용하여 공유 가능 테스트의 이전 버전을 덮어씁니다.$
sam remote test-event put
HelloWorldFunction
--stack-namesam-app
--namedemo-event
--filedemo-event.json
--force -
공유 가능한 테스트 이벤트를 Lambda 함수로 전달 -
sam remote invoke
명령을 사용하여 공유 가능한 테스트 이벤트를 AWS 클라우드의 Lambda 함수에 직접 전달합니다.$
sam remote invoke
HelloWorldFunction
--stack-namesam-app
--test-event-namedemo-event