AWS Chalice를 사용하여 서버 없는 애플리케이션 구축 방법

나는 최근에 AWS Chalice를 만났는데, 그것이 제공하는 단순성과 가용성에 매료되었다.
AWS Chalice는 서버 없는 프레임워크로 Python을 사용하여 서버 없는 응용 프로그램을 구축하고 Amazon API Gateway와 AWS Lambda를 사용하여 AWS에 배치할 수 있습니다.
나는 그것을 사용하기로 결정했다. 실제로 몇 분 안에 AWS에서 예시 RESTAPI를 만들고 배치할 수 있다.
이 문서에서는 Google news에서 Chalice를 사용하여 최신 뉴스를 얻는 서버 없는 응용 프로그램을 구축하고 배치하는 데 필요한 절차를 안내합니다.

선결 조건


이 강좌는 AWS 계정이 필요합니다.만약 네가 아직 없다면, 계속해라create one.우리의 응용 프로그램은 무료 층 자원만 사용하기 때문에 원가가 문제가 되어서는 안 된다.
보안을 설정하고 사용자의 접근을 위해 사용자와 역할을 만들어야 합니다.

AWS 자격 증명 구성 방법


Chalice는 백그라운드에서 AWS 명령줄 인터페이스(CLI)를 사용하여 프로젝트를 배포합니다.이전에 AWS의 CLI를 사용하여 AWS 리소스를 사용하지 않았다면 설명서here에 따라 설치할 수 있습니다.
설치 후 AWS 계정의 자격 증명을 사용하려면 configure AWS CLI가 필요합니다.
$ aws configure                       
AWS Access Key ID [****************OI3G]:
AWS Secret Access Key [****************weRu]:
Default region name [us-west-2]:
Default output format [None]:

어떻게 성배를 설치합니까


이제 Chalice를 설치해야 합니다.이 강좌에서는 Python 3을 사용하지만 AWS Lambda에서 지원하는 모든 Python 버전을 사용할 수 있습니다.

Python 설치 확인


$ python3 --version
Python 3.8.6

성배를 설치하다


$ python3 -m pip install chalice

성배 설치 확인


$ chalice --version
chalice 1.20.0, python 3.8.6, darwin 19.6.0

프로젝트 작성 방법


다음으로 chalice new-project 명령을 실행하여 새 프로젝트를 만듭니다.
$ chalice new-project daily-news
그러면 현재 디렉토리에 daily-news 폴더가 생성됩니다.Chalice가 이 폴더에 몇 개의 파일을 만들었는지 볼 수 있습니다.본고는 app.pyrequirements.txt 문건만 토론한다.app.py 파일의 내용을 살펴보겠습니다.

new-project 명령은 예시 응용 프로그램 데일리 뉴스를 만들었습니다.이것은 호출할 때 JSON 바디/로 되돌아오는 보기{"hello": "world"}를 정의합니다.당신은 지금 이 템플릿을 수정하고 더 많은 코드를 추가해서 구글의 뉴스를 읽을 수 있습니다


우리는 구글의 RSS 요약을 사용하여 우리의 뉴스를 얻을 것이다.RSS 프롬프트는 XML 형식의 데이터로 구성되어 있기 때문에 Beauty Soup이라는 Python 라이브러리에서 XML 데이터를 해석해야 합니다


Beauty Soup 및 XML 분석 라이브러리를 설치하려면 pip 를 사용하십시오.



$ python3 -m pip install bs4
$ python3 -m pip install lxml

다음 가져오기를 app.py 에 추가합니다.이것은 실제로 urllib 에서 가져오기를 추가하여 HTTP 호출을 수행하고 bs4 에서 가져오기를 추가하여 XML 해석





다음은 구글에서 RSS 요약을 얻을 수 있는 방법을 추가해야 합니다.우리는 URLIB를 사용하여 구글의 RSS 노드에 대해 HTTP 호출을 하고 응답을 얻을 것이다.그리고 응답을 분석하여 뉴스 제목과 발표 날짜를 추출하고 뉴스 항목 목록을 만들 수 있습니다


이를 위해 다음 코드를 app.py에 추가하십시오.





업데이트app.py의 index 방법으로 이 방법을 호출하고 뉴스 목록으로 되돌려줍니다





코드가 정상적으로 작동하도록 의존항을 설치했습니다.이 의존 항목은 로컬에 설치되어 있으며, 실행할 때 AWS Lambda 용기를 사용할 수 없습니다


AWS Lambda를 사용할 수 있도록 코드와 함께 패키지해야 합니다


이를 위해 requirements.txt 파일에 다음 내용을 추가합니다.Chalice는 구축 기간에 이 의존 항목을 코드의 일부분으로 묶고 Lambda 함수의 일부분으로 업로드합니다





How to Deploy the Project


이 프로그램을 배치합시다.daily-news 폴더에서 실행chalice deploy 명령



이것은 Amazon API 게이트웨이에 API를 배치하고 AWS Lambda에 새로운 함수를 만들 것입니다




이제 API 액세스를 시도해 보겠습니다.chalice 배포 중에 받은 API 게이트웨이 URL을 curl로 호출할 수 있습니다.API 호출에 대한 응답은 다음과 같은 뉴스 항목 목록으로 돌아갑니다



How to Clean Up Resources


chalice delete 명령을 사용하여 chalice deploy 명령을 실행할 때 생성된 모든 자원을 삭제할 수 있습니다


Conclusion


축하합니다!방금 Chalice를 사용하여 AWS에 서버 없는 애플리케이션을 구축했습니다.이것은 결코 그리 어렵지 않다, 그래


현재, app.py 파일을 계속 수정하고, 변경 사항을 재배치하기 위해chalice deploy를 다시 실행할 수 있습니다


또한 Chalice를 사용하여 서버 없는 애플리케이션을 Amazon S3, Amazon SNS, Amazon SQS 및 기타 AWS 서비스와 통합할 수 있습니다.봐tutorials, 계속 탐색해.본 강좌의 전체 소스 코드here를 찾을 수 있습니다


항상 같이 있어줘서 고마워요.네가 이 문장을 좋아하길 바란다.너는 내가 자주 기술과 생활을 토론하는 곳에서 나와 연락할 수 있다.내가 Medium에 올린 다른 글들도 볼 수 있다.즐겁게 읽다🙂

좋은 웹페이지 즐겨찾기