AWS Lambda - Layer 계층 (requests)

AWS Lambda는 서버리스 컴퓨팅을 가능하게 해주는 강력한 서비스로, 사용자가 작성한 코드를 실행할 수 있는 환경을 제공합니다. Python 개발자들이 종종 필요로 하는 requests 모듈을 포함하여, Lambda 함수에서 외부 API와 통신하는 예제를 살펴보겠습니다.

1. 가상 환경 생성

Python 가상 환경을 사용하면, 필요한 패키지만을 포함하여 Lambda 함수에 필요한 최소한의 환경을 구성할 수 있습니다. 먼저 작업 디렉토리를 생성하고, 가상 환경을 설정합니다.

# 작업 디렉토리 생성 및 이동
mkdir lambda_project
cd lambda_project

# Python 가상 환경 생성
python -m venv venv

2. 가상 환경 활성화

생성된 가상 환경을 활성화하여, 설치할 패키지들이 가상 환경 내에 위치하도록 합니다.

  • Windows에서:
venv\Scripts\activate

  • Linux 또는 macOS에서:
source venv/bin/activate

3. 필요한 패키지 설치

이제 requests 모듈을 가상 환경에 설치합니다. 이 모듈은 HTTP 요청을 쉽게 만들 수 있게 해주는 유용한 라이브러리입니다.

pip install requests

4. 패키지들을 ZIP 파일로 압축

가상 환경에 설치된 requests 모듈과 그 의존성들은 venv/lib/python3.x/site-packages/ 디렉토리 내에 있습니다. 이제 이 디렉토리의 내용과 사용자의 Python 코드를 ZIP 파일로 압축해야 합니다.

cd venv/lib/python3.x/site-packages/
zip -r9 ../../../lambda_function.zip .

사용자의 Python 코드(예: lambda_function.py)도 ZIP 파일에 포함시켜야 합니다.

cd -
zip -g lambda_function.zip lambda_function.py

이 ZIP 파일은 AWS Lambda에 업로드할 준비가 완료된 것입니다.

결론

AWS Lambda에서 requests 모듈을 사용하려면, 위와 같은 과정을 통해 필요한 패키지를 포함한 ZIP 파일을 준비하고, 해당 파일을 Lambda에 업로드해야 합니다. 이 방법을 통해, AWS Lambda에서 외부 API와 통신하는 다양한 서버리스 애플리케이션을 개발할 수 있습니다.

Subscribe to Keun's newsletter and stay updated.

Don't miss anything. Get all the latest posts delivered straight to your inbox. It's free!
Great! Check your inbox and click the link to confirm your subscription.
Error! Please enter a valid email address!