[AWS] Lambda에 request 모듈 추가하기

최준혁·2023년 11월 17일
0

AWS Lambda의 파이썬 request 모듈은 기본적으로 제공되지 않는다고 한다. 이를 해결하려면 Lambda Layer에 해당 모듈이 있는 라이브러리를 추가해줘야 한다. request 모듈 이외에 디폴트로 지원하지 않는 라이브러리가 있다면 별도로 Layer에 추가해줘야 하는 듯하다.

<출처: https://bosungtea9416.tistory.com/entry/AWS-Lambda%EC%97%90-request-%EB%AA%A8%EB%93%88-%EC%B6%94%EA%B0%80%ED%95%98%EA%B8%B0>

모듈 Downlaod

우선 Request 모듈 추가를 위해, 관련 모듈을 다운로드한다. 다운로드를 하였으면 zip 파일로 압축해준다.

#download request module
pip install requests -t python
#compress it
powershell Compress-Archive python requests.zip

제대로 다운로드하여 압축까지 된 것을 확인했다면, 이것을 Lambda Layer에 올릴 것이다.

Lambda Layer에 모듈 업로드

AWS 콘솔 > Lambda 서비스 > Layers > Create layer 경로로 접근하여 Layer를 생성해준다. 좀 전에 준비해둔 zip 파일을 올려준다. 그리고 Runtime을 선택해야 하는데, 본인이 사용할 환경을 모두 선택해주면 된다.

Lambda Function에 Layer 추가하기

Layer 생성이 완료되면, 필요한 Lamda Function에 추가해준다. 추가가 완료되면 Designer 창에 Lambda 그림 하단에 붙어있는 Layer 숫자가 올라가는 것이 보일 것이다.

TEST

준비는 끝났다. 간단하게 request 모듈을 정상적으로 불러와 사용할 수 있는지 테스트해보려 한다. 간단하게 아무 URL에 요청한 다음 반환되는 값을 출력해보려 한다. 코드는 다음과 같다.

import requests

def lambda_handler(event, context):
r = requests.get("https://naver.com/")
return r.status_code
테스트 결과, 정상적으로 200을 반환하고 있다.

만약 해당 모듈이 잘못되었거나 없으면, 하단의 에러 메시지를 반환했을 것이다.

profile
HUGE FAN OF Freecodecamp, nomadcoder 까먹을까봐, 즐겨찾기에 넣어둔 블로그가 사라질까봐

0개의 댓글