를 사용하여 로컬 디버그 함수 AWS SAM - AWS Serverless Application Model

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

를 사용하여 로컬 디버그 함수 AWS SAM

다양한 AWS 툴킷 및 AWS SAM 디버거와 함께 사용하여 로컬에서 서버리스 애플리케이션을 테스트하고 디버깅할 수 있습니다. Lambda 함수의 단계별 디버깅을 통해 로컬 환경에서 한 번에 한 줄 또는 명령어별로 애플리케이션의 문제를 식별하고 수정할 수 있습니다.

로컬 단계별 디버깅을 수행할 수 있는 몇 가지 방법에는 중단점 설정, 변수 검사, 한 번에 한 줄씩 함수 코드 실행 등이 있습니다. 로컬 단계별 디버깅을 사용하면 클라우드에서 발생할 수 있는 문제를 찾아 해결할 수 있어 피드백 루프가 강화됩니다.

AWS 툴킷을 사용하여 디버깅할 수 있으며 디버그 모드에서 실행할 수도 있습니다. AWS SAM 자세한 내용은 이 섹션의 항목을 참조하십시오.

AWS 툴킷 사용

AWS 툴킷은 중단점 설정, 변수 검사, 함수 코드 실행 등 여러 가지 일반적인 디버깅 작업을 한 번에 한 줄씩 수행할 수 있는 기능을 제공하는 통합 개발 환경 (IDE) 플러그인입니다. AWS 툴킷을 사용하면 를 사용하여 구축된 서버리스 애플리케이션을 더 쉽게 개발, 디버그 및 배포할 수 있습니다. AWS SAM IDE에 통합된 Lambda 함수를 구축, 테스트, 디버깅, 배포 및 호출할 수 있는 환경을 제공합니다.

함께 AWS SAM사용할 수 있는 AWS 툴킷에 대한 자세한 내용은 다음을 참조하십시오.

다양한 IDE 및 런타임 조합과 함께 작동하는 다양한 AWS 툴킷이 있습니다. 다음 표에는 응용 프로그램의 단계별 디버깅을 지원하는 일반적인 IDE/런타임 조합이 나와 있습니다. AWS SAM

IDE 런타임 AWS 툴킷 단계별 디버깅 지침
Visual Studio Code
  • Node.js

  • Python

  • .NET

  • Java

  • Go

AWS Toolkit for Visual Studio Code 사용자 가이드 AWS 서버리스 애플리케이션AWS Toolkit for Visual Studio Code 를 이용한 작업
AWS Cloud9
  • Node.js

  • Python

AWS Cloud9, AWS 툴킷이 활성화된 경우 1

사용자 안내서의 AWS 툴킷을 사용하여 AWS 서버리스 애플리케이션으로 작업하기.AWS Cloud9

WebStorm Node.js AWS Toolkit for JetBrains2

https://docs.aws.amazon.com/toolkit-for-jetbrains/latest/userguide/invoke-lambda.html내 로컬 함수 AWS Toolkit for JetBrains실행(간접적으로 호출) 또는 디버깅

PyCharm Python AWS Toolkit for JetBrains2

https://docs.aws.amazon.com/toolkit-for-jetbrains/latest/userguide/invoke-lambda.html내 로컬 함수 AWS Toolkit for JetBrains실행(간접적으로 호출) 또는 디버깅

Rider .NET AWS Toolkit for JetBrains2

https://docs.aws.amazon.com/toolkit-for-jetbrains/latest/userguide/invoke-lambda.html내 로컬 함수 AWS Toolkit for JetBrains실행(간접적으로 호출) 또는 디버깅

IntelliJ Java AWS Toolkit for JetBrains2

https://docs.aws.amazon.com/toolkit-for-jetbrains/latest/userguide/invoke-lambda.html내 로컬 함수 AWS Toolkit for JetBrains실행(간접적으로 호출) 또는 디버깅

GoLand Go AWS Toolkit for JetBrains2

https://docs.aws.amazon.com/toolkit-for-jetbrains/latest/userguide/invoke-lambda.html내 로컬 함수 AWS Toolkit for JetBrains실행(간접적으로 호출) 또는 디버깅

참고:

  1. AWS SAM 응용 프로그램을 AWS Cloud9 단계별로 디버깅하는 데 사용하려면 AWS 툴킷을 활성화해야 합니다. 자세한 내용은 사용 안내서의 AWS 툴킷 활성화를 참조하십시오.AWS Cloud9

  2. 단계별 디버그 AWS SAM 응용 프로그램을 사용하려면 먼저 설치에 있는 지침에 따라 응용 프로그램을 설치하고 구성해야 합니다. AWS Toolkit for JetBrains AWS Toolkit for JetBrainsAWS Toolkit for JetBrains

디버그 AWS SAM 모드에서 로컬에서 실행

AWS 툴킷과 통합하는 것 AWS SAM 외에도 “디버그 모드”에서 실행하여 ptvsd 또는 delve와 같은 타사 디버거에 연결할 수도 있습니다.

디버그 AWS SAM 모드에서 실행하려면 명령을 사용하거나 또는 옵션과 함께 사용하십시오. sam local invoke sam local start-api --debug-port -d

예:

# Invoke a function locally in debug mode on port 5858 sam local invoke -d 5858 <function logical id> # Start local API Gateway in debug mode on port 5858 sam local start-api -d 5858
참고

sam local start-api을 사용하는 경우 로컬 API 게이트웨이 인스턴스는 모든 Lambda 함수를 노출합니다. 하지만 단일 디버그 포트를 지정할 수 있으므로 한 번에 하나의 함수만 디버깅할 수 있습니다. AWS SAMCLI가 포트에 바인딩하기 전에 API를 직접 호출해야 디버거가 연결할 수 있습니다.