로컬 Amazon API Gateway 리소스 실행 및 디버깅 - AWS VS 코드용 도구 키트

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

로컬 Amazon API Gateway 리소스 실행 및 디버깅

invokeTarget.target=apitype=aws-sam의 VS Code 시작 구성을 실행하면 template.yaml에 지정된 AWS SAM API Gateway 로컬 리소스를 실행하거나 디버그할 수 있습니다.

참고

API Gateway는 REST와 HTTP 두 가지 유형의 API를 지원합니다. 그러나 AWS Toolkit for Visual Studio Code를 사용한 API Gateway 기능은 REST API만 지원합니다. HTTP API를 ‘API Gateway V2 API’라고 부르기도 합니다.

로컬 API Gateway 리소스 실행 및 디버깅하기
  1. 다음 방법 중 하나를 선택하여 AWS SAM API Gateway 리소스의 시작 구성을 생성하세요.

    • 옵션 1: AWS SAM 프로젝트에 있는 핸들러 소스 코드(.js, .cs, or .py 파일)로 이동하여 Lambda 핸들러 위로 마우스를 가져간 다음 디버그 구성 추가 CodeLens를 선택합니다. 그런 다음 메뉴에서 API Event를 선택합니다.

    • 옵션 2: launch.json을 수정하고 다음 구문을 사용하여 새 시작 구성을 생성합니다.

      { "type": "aws-sam", "request": "direct-invoke", "name": "myConfig", "invokeTarget": { "target": "api", "templatePath": "n12/template.yaml", "logicalId": "HelloWorldFunction" }, "api": { "path": "/hello", "httpMethod": "post", "payload": { "json": {} } }, "sam": {}, "aws": {} }
  2. VS Code Run 패널에서 시작 구성 (위 예시의 myConfig에서)을 선택합니다.

  3. (선택 사항) Lambda 프로젝트 코드에 중단점을 추가할 수 있습니다.

  4. F5를 입력하거나 Run 패널에서 Play를 선택합니다.

  5. 출력 창에 결과가 나타납니다.

구성

invokeTarget.target 속성 값 api를 사용하면 도구 키트로 api 필드를 지원하는 시작 구성 검증 및 동작을 변경할 수 있습니다.

{ "type": "aws-sam", "request": "direct-invoke", "name": "myConfig", "invokeTarget": { "target": "api", "templatePath": "n12/template.yaml", "logicalId": "HelloWorldFunction" }, "api": { "path": "/hello", "httpMethod": "post", "payload": { "json": {} }, "querystring": "abc=def&qrs=tuv", "headers": { "cookie": "name=value; name2=value2; name3=value3" } }, "sam": {}, "aws": {} }

예시의 값을 다음과 같이 변경하세요.

invokeTarget.logicalId

API 리소스.

경로

시작 구성이 요청하는 API 경로(예: "path": "/hello").

invokeTarget.templatePath로 지정된 template.yaml에서 확인한 유효한 API 경로여야 합니다.

httpMethod

동사 ‘delete’, ‘get’, ‘head’, ‘options’, ‘patch’, ‘post’, ‘put’ 중 하나입니다.

payload

요청에 보낼 JSON 페이로드(HTTP 본문)로, lambda.payload 필드와 구조 및 규칙이 같습니다.

payload.path는 JSON 페이로드가 포함된 파일을 가리킵니다.

payload.json은 JSON 페이로드를 인라인으로 지정합니다.

headers

이름-값 쌍의 옵션 맵은 다음 예와 같은 요청에 포함할 HTTP 헤더를 지정하는 데 사용합니다.

"headers": { "accept-encoding": "deflate, gzip;q=1.0, *;q=0.5", "accept-language": "fr-CH, fr;q=0.9, en;q=0.8, de;q=0.7, *;q=0.5", "cookie": "name=value; name2=value2; name3=value3", "user-agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/86.0.4240.198 Safari/537.36", }
querystring

요청의 querystring을 설정하는 옵션 문자열(예: "querystring": "abc=def&ghi=jkl").

AWS

AWS 연결 정보를 제공하는 방법. 자세한 내용은 서버리스 애플리케이션 디버깅을 위한 구성 옵션 섹션에서 AWS connection ("aws") properties 표를 참조하세요.

sam

AWS SAM CLI로 애플리케이션을 빌드하는 방법. 자세한 내용은 서버리스 애플리케이션 디버깅을 위한 구성 옵션 섹션에서 AWS SAM CLI ("sam") 속성 표를 참조하세요.