AWS에서 lambda 를 사용할 수 있게 base 이미지를 제공합니다. 런타임 인터페이스 클라이언트가 포함되어있습니다.
python 이미지는 여기에서 확인할 수 있습니다. 버전별로 image 주소를 확인하여 복사하면 됩니다.
(아래 #따라하기 에서 Dockerfile 을 복사하면 됩니다~)
저는 python 3.9 을 사용했습니다.
우선 python 가상 환경을 생성 합니다.
꼭 가상환경을 사용하지 않아도 됩니다. 그냥 새폴더를 새로 만들어서 해도 됩니다.
hello-lambda-image 라는 폴더를 생성했습니다.
위 폴더에서 Dockerfile 을 생성합니다.
그리고 아래 내용을 입력합니다.
FROM public.ecr.aws/lambda/python:3.8
# Copy function code
COPY app.py ${LAMBDA_TASK_ROOT}
# Install the function's dependencies using file requirements.txt
# from your project folder.
COPY requirements.txt .
RUN pip3 install -r requirements.txt --target "${LAMBDA_TASK_ROOT}"
# Set the CMD to your handler (could also be done as a parameter override outside of the Dockerfile)
CMD [ "app.handler" ]
app.py 라는 python 파일을 생성하고 코딩을 하면 됩니다.
그리고 requirements.txt 에 필요한 3rd party lib 들을 정의해 두면 됩니다.
그럼 필요한 파일들은 아래와 같습니다.