sam local start-api - AWS Serverless Application Model

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

sam local start-api

이 페이지에서는 AWS Serverless Application Model 명령줄 인터페이스(AWS SAM CLI) sam local start-api 하위 명령.

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

사용량

$ sam local start-api <options>

옵션

--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

선택 사항입니다. 로컬 디버깅 시 이미지 컨테이너에 환경 변수를 전달합니다.

--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-function

선택 사항입니다. --warm-containers이 지정된 시점에 디버그 옵션을 적용할 Lambda 함수를 지정합니다. 이 매개변수는--debug-port, --debugger-path--debug-args에 적용됩니다.

--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 파일입니다.

--force-image-build

여부를 지정합니다. AWS SAM CLI 는 계층을 사용하여 함수를 호출하는 데 사용되는 이미지를 다시 빌드해야 합니다.

--help

이 메시지를 표시한 후 종료합니다.

--hook-name TEXT

확장에 사용되는 후크의 이름 AWS SAM CLI 기능.

허용되는 값: terraform입니다.

--host TEXT

바인딩할 로컬 호스트 이름 또는 IP 주소(기본값: ‘127.0.0.1’)입니다.

--invoke-image TEXT

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

템플릿에서 사용하는 레이어가 다운로드되는 위치를 기준으로 지정합니다.

--log-file, -l TEXT

런타임 로그를 전송할 로그 파일입니다.

--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

--port, -p INTEGER

수신할 로컬 포트 번호(기본값: ‘3000’)입니다.

--profile TEXT

자격 증명을 가져오는 AWS 자격 증명 파일의 특정 프로필입니다.

--region TEXT

배포할 AWS 리전입니다. 예를 들어 us-east-1입니다.

--save-params

명령줄에 제공한 파라미터를 AWS SAM 구성 파일에 저장합니다.

--shutdown

종료 동작의 확장 처리를 테스트하기 위하여 간접 호출 완료 이후라도 종료 이벤트를 에뮬레이션합니다.

--skip-prepare-infra

인프라를 변경하지 않은 경우 준비 단계를 건너뜁니다. --hook-name 옵션과 함께 사용합니다.

--skip-pull-image

가 Lambda 런타임에 대한 최신 Docker 이미지의 풀 다운을 건너뛰CLI어야 하는지 여부를 지정합니다.

--ssl-cert-file PATH

SSL 인증서 파일 경로(기본값: 없음). 이 옵션을 사용할 경우 --ssl-key-file 옵션도 사용해야 합니다.

--ssl-key-file PATH

SSL 키 파일 경로(기본값: 없음). 이 옵션을 사용할 경우 --ssl-cert-file 옵션도 사용해야 합니다.

--static-dir, -s TEXT

이 디렉터리에 있는 모든 정적 자산(예: CSS/JavaScript/HTML) 파일은 에 나와 있습니다/.

--template, -t PATH

AWS SAM 템플릿 파일입니다.

참고

이 옵션을 지정하면 는 템플릿과 템플릿이 가리키는 로컬 리소스만 AWS SAM 로드합니다.

--terraform-plan-file

로컬의 상대 또는 절대 경로 Terraform 를 사용할 때 계획 파일 AWS SAM CLI with Terraform Cloud. 이 옵션을 사용하려면 를 로 설정해야 --hook-name 합니다terraform.

--warm-containers [EAGER | LAZY]

선택 사항. 방법을 지정합니다. AWS SAM CLI 는 각 함수의 컨테이너를 관리합니다.

사용 가능한 옵션은 다음 두 가지입니다.

   EAGER: 모든 함수의 컨테이너는 시작 시 로드되며 호출과 호출 사이에도 유지됩니다.

   LAZY: 컨테이너는 각 함수를 처음 호출할 때만 로드됩니다. 이러한 컨테이너들은 추가 호출 시에도 계속 유지됩니다.

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

$ sam local start-api --port 3000