AWS Lambda는 여러가지 장점을 가지고 있다.
하지만 로컬에서 작업할 수 없기에 항상 작업한 결과물을 업로드하거나 직접 AWS콘솔에 붙어서 작업을 해야했는데
이는 너무나 불편한 작업이었다.
그래서 PyCharm에서 AWS Lambda관련하여 플러그인이 없을 지 찾아보던 중 SAM이라는 플러그인을 발견했다.
나는 OSX를 사용하고 있으므로 맥 기준으로 설명한다.
먼저 아래의 명령어로 brew를 업데이트한다.
brew upgrade
brew update
이제 저장소에 추가하고 설치한다.
brew tap aws/tap
brew install aws-sam-cli
다음으로 파이참을 키고 설정 - Plugins에서 lambda를 검색한다.
오른쪽에 있는 AWS Toolkit을 설치한다음 재시작한다.
이제 File - New Project로 들어간다.
왼쪽에서 AWS Serverless Application을 선택하고 SAM Template에서 AWS SAM Hello World를 선택하고 생성한다.
참고로 오른쪽 아래에 있는
이런 옵션을 선택하면 리전을 변경할 수 있다.
또한 왼쪽을 살펴보면 app.py파일이 있는데 해당 파일로 들어가보면
lambda_handler 함수 왼쪽에 이상한 모양이 하나 있다.
해당 버튼을 통해 로컬에서 실행시키거나 디버그를 할 수 있다.
먼저 버튼을 누르고 RUN을 눌러보면 아래와 같은 창이 뜬다.
Text에서 API Gateway AWS Proxy를 선택하고 아래 Run버튼을 누른다.
조금 기다리면 위와 같이 정상적으로 실행이 됐음을 알 수 있다.
이제 리모트 작업을 하는 방법에 대해 알아본다.
프로젝트 최상위 파일을 오른쪽 버튼으로 클릭하고 가장 아래에 있는
Deploy Serverless Application을 선택한다.
여기서는 기존 람다를 수정하는것이 아니므로 Create Stack을 선택한다.
생성되길 원하는 이름을 적고 아래쪽 S3 Bucket에서는 배포될 버킷을 선택한다.
그다음 오른쪽 아래에 있는 Deploy버튼을 누른다.
그러면 CloudFormation이 생성되기 시작하며 2분정도 기다려야한다.
다음으로 왼쪽 아래를 보면 위처럼 AWS Explorer라는 탭이 존재한다.
해당 탭을 눌러본다.
그러면 이렇게 우리가 생성한 람다 함수를 볼 수 있다.
오른쪽 버튼으로 클릭하고 Run을 선택한다.
그러면 IDE 콘솔에서 결과를 확인할 수 있다.
'Coding > Python' 카테고리의 다른 글
Django Restframework Custom User Model 적용 방법 (0) | 2019.02.28 |
---|---|
Python Observer Pattern (0) | 2019.02.20 |
Python Anti Pattern - Using an unpythonic loop (0) | 2019.01.28 |
Python Anti Pattern - Test for object identity should be is (0) | 2019.01.28 |
Python Anti Pattern - Not using unpacking for updating multiple values at once (0) | 2019.01.28 |