sam local start-lambda
이 페이지는 AWS Serverless Application Model 명령줄 인터페이스(AWS SAM CLI) sam local start-lambda 하위 명령에 대한 참조 정보를 제공합니다.
-
AWS SAM CLI에 대한 소개는 AWS SAMCLI란 무엇인가요? 섹션을 참조하세요.
-
AWS SAM CLI
sam local start-lambda하위 명령 사용에 대한 설명서는 sam local start-lambda를 사용한 테스트 소개 섹션을 참조하세요.
sam local start-lambda 하위 명령은 에뮬레이션할 로컬 엔드포인트를 시작합니다AWS Lambda.
사용법
$sam local start-lambda<options>
옵션
--add-hostLIST-
호스트 이름과 IP 주소 매핑을 Docker 컨테이너의 호스트 파일에 전달합니다. 이 파라미터는 여러 번 전달할 수 있습니다.
예시:
--add-hostexample.com:127.0.0.1 --beta-features | --no-beta-features-
베타 기능을 허용 또는 거부합니다.
--config-envTEXT-
사용할 구성 파일의 기본 매개변수 값을 지정하는 환경 이름입니다. 기본값은 “기본값”입니다. 구성 파일에 대한 자세한 내용은 AWS SAMCLI구성 파일 섹션을 참조하세요.
--config-filePATH-
사용할 기본 매개변수 값이 들어 있는 구성 파일의 경로 및 파일 이름입니다. 기본값은 프로젝트 디렉터리의 루트에 있는 “samconfig.toml”입니다. 구성 파일에 대한 자세한 내용은 AWS SAMCLI구성 파일 섹션을 참조하세요.
--container-env-vars-
선택 사항입니다. 로컬 디버깅 시 이미지 컨테이너에 환경 변수를 전달합니다.
--container-hostTEXT-
로컬로 에뮬레이션된 Lambda 컨테이너의 호스트입니다. 기본값은
localhost입니다. macOS의 Docker 컨테이너에서 AWS SAM CLI를 실행하려는 경우host.docker.internal을 지정할 수 있습니다. AWS SAM CLI가 아닌 다른 호스트에서 컨테이너를 실행하려는 경우 원격 호스트의 IP 주소를 지정할 수 있습니다. --container-host-interfaceTEXT-
컨테이너 포트가 바인딩해야 하는 호스트 네트워크 인터페이스의 IP 주소입니다. 기본값은
127.0.0.1입니다. 모든 인터페이스에 바인딩하는 데0.0.0.0을 사용합니다. --debug-
디버그 로깅을 켜서 AWS SAM CLI 에 의해 생성된 디버그 메시지를 인쇄하고 타임스탬프를 표시합니다.
--debug-argsTEXT-
디버거에 전달할 추가 인수입니다.
--debug-function-
선택 사항입니다.
--warm-containers이 지정된 시점에 디버그 옵션을 적용할 Lambda 함수를 지정합니다. 이 매개변수는--debug-port,--debugger-path및--debug-args에 적용됩니다. --debug-port, -dTEXT-
지정되면 Lambda 함수 컨테이너를 디버그 모드에서 시작하고 이 포트를 로컬 호스트에 노출합니다.
--debugger-pathTEXT-
Lambda 컨테이너에 마운트된 디버거의 호스트 경로입니다.
--docker-networkTEXT-
Lambda Docker 컨테이너가 연결해야 하는 기존 Docker 네트워크의 이름 또는 ID와 기본 브리지 네트워크입니다. 이것이 지정되면 Lambda 컨테이너는 기본 브리지 Docker 네트워크에만 연결됩니다.
--docker-volume-basedir, -vTEXT-
AWS SAM 파일이 있는 기본 디렉터리의 위치입니다. Docker가 원격 기기에서 실행 중인 경우 AWS SAM 파일이 있는 경로를 Docker 기기에 마운트하고 이 값을 원격 기기에 맞게 수정해야 합니다.
--env-vars, -nPATH-
Lambda 함수의 환경 변수의 값을 포함하는 JSON 파일입니다.
--force-image-build-
CLI이 레이어를 사용하여 함수를 호출하는 데 사용된 이미지를 다시 구축해야 하는지를 지정합니다.
--help-
이 메시지를 표시한 후 종료합니다.
--hook-nameTEXT-
AWS SAM CLI 기능을 확장하는 데 사용되는 후크의 이름입니다.
허용되는 값:
terraform입니다. --hostTEXT-
바인딩할 로컬 호스트 이름 또는 IP 주소(기본값: ‘127.0.0.1’)입니다.
--invoke-imageTEXT-
로컬 함수 간접 호출에 사용하려는 컨테이너 이미지의 URI입니다. 기본 사항으로 AWS SAM은 Amazon ECR Public로부터 컨테이너 이미지를 가져옵니다. 다른 위치에서 이미지를 가져오려면 이 옵션을 사용합니다.
예를 들어
sam local start-lambda MyFunction --invoke-image amazon/aws-sam-cli-emulation-image-python3.8입니다. --layer-cache-basedirDIRECTORY-
템플릿에서 사용하는 레이어가 다운로드되는 위치를 기준으로 지정합니다.
--log-file, -lTEXT-
런타임 로그를 전송할 로그 파일입니다.
--no-memory-limit-
AWS SAM 템플릿에서 메모리가 구성된 경우에도 로컬 간접 호출 중 컨테이너의 메모리 제한을 제거합니다.
--parameter-overrides-
키-값 페어로 인코딩된 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, -pINTEGER-
수신할 로컬 포트 번호(기본값: ‘3001’)입니다.
--profileTEXT-
AWS 보안 인증 정보를 가져오는 보안 인증 파일의 특정 프로필입니다.
--regionTEXT-
배포할 AWS 지역입니다. 예를 들어 us-east-1입니다.
--save-params-
명령줄에서 AWS SAM 구성 파일에 제공한 매개변수를 저장합니다.
--shutdown-
종료 동작의 확장 처리를 테스트하기 위하여 간접 호출 완료 이후라도 종료 이벤트를 에뮬레이션합니다.
--skip-prepare-infra-
인프라를 변경하지 않은 경우 준비 단계를 건너뜁니다.
--hook-name옵션과 함께 사용합니다. --skip-pull-image-
CLI 이 Lambda 런타임에 대한 최신 도커 이미지를 가져오는 단계를 건너뛸지를 지정합니다.
--template, -tPATH-
AWS SAM 템플릿 파일입니다.
참고
이 옵션을 지정하는 경우 AWS SAM은 템플릿과 템플릿이 가리키는 로컬 리소스만 로드합니다. 이 옵션은
--hook-name과 호환되지 않습니다. --terraform-plan-file-
Terraform AWS SAM를 CLI와 사용할 때 로컬 Terraform Cloud 계획 파일의 상대적 또는 절대적 경로입니다. 이 옵션을 사용하려면
--hook-name을terraform로 설정해야 합니다. --warm-containers[EAGER | LAZY]-
선택 사항입니다. AWS SAM CLI가 각 함수의 컨테이너를 관리하는 방법을 지정합니다.
사용 가능한 옵션은 다음 두 가지입니다.
-
EAGER: 모든 함수의 컨테이너는 시작 시 로드되며 호출과 호출 사이에도 유지됩니다. -
LAZY: 컨테이너는 각 함수를 처음 간접 호출할 때만 로드됩니다. 이러한 컨테이너들은 추가 호출 시에도 계속 유지됩니다.
-
예시
sam local start-lambda 하위 명령 사용에 대한 자세한 예제와 심층적인 단계별 설명은 sam local start-lambda를 사용한 테스트 소개 섹션을 참조하세요.