기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
sam local invoke
이 페이지에서는 AWS Serverless Application Model 명령줄 인터페이스(AWS SAM CLI) sam local invoke
하위 명령.
-
에 대한 소개 AWS SAM CLI, 참조 AWS SAMCLI란 무엇인가요?
-
사용 설명서 AWS SAM CLI
sam local invoke
하위 명령, 참조sam local invoke를 사용한 테스트 소개.
sam local invoke
하위 명령은 로컬에서 AWS Lambda 함수의 일회성 호출을 시작합니다.
사용량
$
sam local invoke
<arguments>
<options>
참고
AWS SAM 템플릿에 정의된 함수가 두 개 이상 있는 경우 호출하려는 함수 논리적 ID를 제공합니다.
인수
- 리소스 ID
-
간접 호출을 위한 Lambda 함수의 ID입니다.
이 인수는 선택 사항입니다. 애플리케이션에 단일 Lambda 함수가 포함된 경우 AWS SAM CLI는 이를 호출합니다. 애플리케이션에 여러 함수가 포함된 경우 간접 호출할 함수의 ID를 제공하십시오.
유효한 값 : 리소스의 논리적 ID 또는 리소스 입니다ARN.
옵션
--add-host
LIST
-
호스트 이름과 IP 주소 매핑을 Docker 컨테이너의 호스트 파일에 전달합니다. 이 파라미터는 여러 번 전달할 수 있습니다.
예시:
--add-host
example.com:127.0.0.1
--beta-features | --no-beta-features
-
베타 기능을 허용 또는 거부합니다.
--config-env
TEXT
-
사용할 구성 파일의 기본 매개변수 값을 지정하는 환경 이름입니다. 기본값은 “기본값”입니다. 구성 파일에 대한 자세한 내용은 AWS SAM CLI 구성 파일 섹션을 참조하세요.
--config-file
PATH
-
사용할 기본 매개변수 값이 들어 있는 구성 파일의 경로 및 파일 이름입니다. 기본값은 프로젝트 디렉터리의 루트에 있는 “
samconfig.toml
“입니다. 구성 파일에 대한 자세한 내용은 AWS SAM CLI 구성 파일 섹션을 참조하세요. --container-env-vars
-
(선택 사항) 로컬에서 디버깅할 때 Lambda 함수 이미지 컨테이너에 환경 변수를 전달하십시오.
--container-host
TEXT
-
로컬로 에뮬레이션된 Lambda 컨테이너의 호스트입니다. 기본값은
localhost
입니다. 실행하려는 경우 AWS SAM CLI macOS의 Docker 컨테이너에서 를 지정할 수 있습니다host.docker.internal
. 다른 호스트에서 컨테이너를 실행하려는 경우 AWS SAM CLI에서 원격 호스트의 IP 주소를 지정할 수 있습니다. --container-host-interface
TEXT
-
컨테이너 포트가 바인딩해야 하는 호스트 네트워크 인터페이스의 IP 주소입니다. 기본값은
127.0.0.1
입니다. 모든 인터페이스에 바인딩하는 데0.0.0.0
을 사용합니다. --debug
-
디버그 로깅을 켜서 AWS SAM CLI 는 및 를 생성하여 타임스탬프를 표시합니다.
--debug-args
TEXT
-
디버거에 전달할 추가 인수입니다.
--debug-port, -d
TEXT
-
지정되면 Lambda 함수 컨테이너를 디버그 모드에서 시작하고 이 포트를 로컬 호스트에 노출합니다.
--debugger-path
TEXT
-
Lambda 컨테이너에 마운트된 디버거의 호스트 경로입니다.
--docker-network
TEXT
-
Lambda Docker 컨테이너가 연결해야 하는 기존 Docker 네트워크의 이름 또는 ID와 기본 브리지 네트워크입니다. 이것이 지정되지 않으면 Lambda 컨테이너는 기본 브리지 Docker 네트워크에만 연결됩니다.
--docker-volume-basedir, -v
TEXT
-
AWS SAM 파일이 있는 기본 디렉터리의 위치입니다. Docker가 원격 시스템에서 실행 중인 경우 Docker 시스템에 AWS SAM 파일이 있는 경로를 마운트하고 원격 시스템과 일치하도록 이 값을 수정해야 합니다.
--env-vars, -n
PATH
-
Lambda 함수의 환경 변수 값이 포함된 JSON 파일입니다. 환경 변수 파일에 대한 자세한 내용은 환경 변수 파일 섹션을 참조하세요.
--event, -e
PATH
-
호출될 때 Lambda 함수로 전달되는 이벤트 데이터가 포함된 JSON 파일입니다. 이 옵션을 지정하지 않으면 이벤트가 가정되지 않습니다. JSON 에서 입력하려면 '-' 값을 전달
stdin
해야 합니다. 다양한 AWS 서비스의 이벤트 메시지 형식에 대한 자세한 내용은 AWS Lambda 개발자 안내서의 다른 서비스 작업을 참조하세요. --force-image-build
-
의 여부를 지정합니다. AWS SAM CLI 는 계층으로 Lambda 함수를 호출하는 데 사용되는 이미지를 다시 빌드해야 합니다.
--help
-
이 메시지를 표시한 후 종료합니다.
--hook-name TEXT
-
확장에 사용되는 후크의 이름 AWS SAM CLI 기능.
허용되는 값:
terraform
. --invoke-image
TEXT
-
로컬 함수 호출에 사용할 컨테이너 이미지URI의 입니다. 기본적으로 는 Amazon ECR Public(에 나열됨)에서 컨테이너 이미지를 AWS SAM 가져옵니다AWS SAM의 이미지 리포지토리. 다른 위치에서 이미지를 가져오려면 이 옵션을 사용합니다.
예:
sam local invoke MyFunction --invoke-image amazon/aws-sam-cli-emulation-image-python3.8
. --layer-cache-basedir
DIRECTORY
-
템플릿에서 사용하는 레이어가 다운로드되는 기본 디렉토리의 위치를 지정합니다.
--log-file, -l
TEXT
-
런타임 로그를 전송할 로그 파일입니다.
--no-event
-
빈 이벤트와 함께 함수를 간접 호출합니다.
--parameter-overrides
-
AWS 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
-
자격 증명을 가져오는 AWS 자격 증명 파일의 특정 프로필입니다.
--region
TEXT
-
배포할 AWS 리전입니다. 예를 들어 us-east-1입니다.
--save-params
-
명령줄에 제공한 파라미터를 AWS SAM 구성 파일에 저장합니다.
--shutdown
-
종료 동작의 확장 처리를 테스트하기 위하여 간접 호출 완료 이후라도 종료 이벤트를 에뮬레이션합니다.
--skip-prepare-infra
-
인프라를 변경하지 않은 경우 준비 단계를 건너뜁니다.
--hook-name
옵션과 함께 사용합니다. --skip-pull-image
-
기본적으로 AWS SAM CLI 는 Lambda의 최신 원격 런타임 환경을 확인하고 로컬 이미지를 자동으로 업데이트하여 동기화 상태를 유지합니다.
이 옵션을 지정하여 최신 Docker Lambda 런타임 환경의 이미지입니다.
--template, -t
PATH
-
AWS SAM 템플릿 파일입니다.
이 옵션은
--hook-name
과 호환되지 않습니다.참고
이 옵션을 지정하면 는 템플릿과 템플릿이 가리키는 로컬 리소스만 AWS SAM 로드합니다.
--terraform-plan-file
-
로컬의 상대 또는 절대 경로 Terraform 를 사용할 때 계획 파일 AWS SAM CLI with Terraform Cloud. 이 옵션을 사용하려면 를 로 설정해야
--hook-name
합니다terraform
.
예
다음 예제에서는 s3.json
이벤트를 통해 로컬에서 Lambda 함수를 호출하여 로컬 테스트를 위해 생성된 이벤트를 사용합니다.
$
sam local invoke --event
events/s3.json S3JsonLoggerFunction