Python + AWS Lambda + API Gateway에서 LINE BOT
3384 단어 chalice람다파이썬botAPIGateway
API Gateway + AWS Lambda에서 놀기 위해 LINE BOT을 만들었으므로 소개.
LINE BOT을 만드는 방법은 공식 문서와 Python SDK가 충실하기 때문에 생략합니다.
소스 코드는 Github에서 공개하고 있으므로 좋으면 참조하십시오.
기능 목록
구현된 기능
news
와 weather
커멘드는 이야기의 재료에 좋고, 아는 사람이 실제로 그룹으로 사용해 주는 것 같다.그리고 의외로
choice
커멘드도 상당히 사용되고 있다.기능
모습
Greeting
Choice
Shuffle
Weather
뉴스
뉴스는 처음에는 야후 뉴스의 RSS에서 찍었지만, Google 뉴스는 미리보기 이미지를 찍을 수 있었기 때문에 대체했습니다.
하고 싶은 일
불러온 횟수도 기록하고 시각화 할 수 있다면 재미있을지도 모릅니다.
일보를 LINE으로 관리하고 싶습니다.
이런 것이 있으면, 편리하다고 하는 것이 있으면, 코멘트라든지 기다리고 있습니다.
Python의 Serverless Framework
여기에서 조금 기술적인 이야기.
Lambda만이라면 프레임워크는 사용하지 않아도 AWS CLI에서 쉽게 다룰 수 있지만 API Gateway는 AWS CLI에서 작업하는 것이 매우 어렵습니다. 아직 브라우저에서 AWS 웹사이트를 열고 수동으로 조작하는 편이 쉬울까라는 인상이었습니다.
엔드포인트가 늘어나면 API Gateway 설정을 잘 해주는 프레임워크가 없으면 엄격합니다.
살펴보면 파이썬에서 인기있는 Serverless Framework가 두 가지 있습니다.
Zappa
처음에는 Zappa 코드를 살펴 보았습니다. API Gateway에서 Lambda로 전달되는 이벤트를 WSGI Environ으로 변환하고 Flask 및 Django와 같은 WSGI 프레임 워크를 실행할 수 있습니다. 나중에 배포할 때 각 프레임워크의 URL 정의에서 AWS CloudFormation용 파일을 생성하여 API Gateway를 설정해 주는 것 같습니다.
Chalice
Chalice는 Zappa와 달리 WSGI로 변환하지 않으며 API Gateway에 특화되어 있습니다. 쓸데없는 일만 하고 있어, 소스 코드도 알기 쉽네요. Zappa의 경우, Flask의 기능에서도 API Gateway를 통해 정말로 움직이는지 생각하지 않으면 안됩니다만, chalice의 다큐멘테이션에 써 있는 기능은 제대로 움직이는 안심감도 있군요.
이번은 Chalice를 채용해 보았습니다만, 이쪽은 코드도 심플하고 꽤 취급하기 쉽습니다.
요약
끝
Reference
이 문제에 관하여(Python + AWS Lambda + API Gateway에서 LINE BOT), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/c-bata/items/710021d1405c942211fb텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)