기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
로컬 Amazon API Gateway 리소스 실행 및 디버깅
invokeTarget.target=api
로 type=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 리소스 실행 및 디버깅하기
-
다음 방법 중 하나를 선택하여 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": {} }
-
-
VS Code Run 패널에서 시작 구성 (위 예시의
myConfig
에서)을 선택합니다. -
(선택 사항) Lambda 프로젝트 코드에 중단점을 추가할 수 있습니다.
-
F5를 입력하거나 Run 패널에서 Play를 선택합니다.
-
출력 창에 결과가 나타납니다.
구성
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") 속성 표를 참조하세요.