.zip 파일 아카이브를 사용하여 Python Lambda 함수 배포 - AWS Lambda

.zip 파일 아카이브를 사용하여 Python Lambda 함수 배포

AWS Lambda 함수의 코드는 스크립트 또는 컴파일된 프로그램과 해당 종속 항목으로 구성됩니다. 배포 패키지를 사용하여 Lambda 함수 코드를 배포합니다. Lambda는 두 가지 유형의 배포 패키지(컨테이너 이미지 및 .zip 파일)를 지원합니다.

배포 패키지를 생성하려면 명령줄 도구에 대해 기본 제공 .zip 파일 아카이브 유틸리티 또는 다른 .zip 파일 유틸리티(예: 7zip)를 사용할 수 있습니다. .zip 파일을 배포 패키지로 사용하려면 다음 요구 사항에 유의하십시오.

  • .zip 파일은 Lambda에서 함수의 코드와 함수 코드를 실행하는 사용되는 종속성(해당되는 경우)을 포함해야 합니다. 함수가 표준 라이브러리 또는 AWS SDK 라이브러리에만 의존하는 경우 이러한 라이브러리를 .zip 파일에 포함하지 않아도 됩니다. 이러한 라이브러리는 지원되는 Lambda 런타임 환경에 포함되어 있습니다.

  • .zip 파일은 50MB 미만이어야 합니다. 50MB보다 큰 경우 Amazon Simple Storage Service(Amazon S3) 버킷에 업로드하는 것이 좋습니다.

  • .zip 파일은 C 또는 C++로 작성된 라이브러리를 포함할 수 없습니다. .zip 파일이 Pillow(PIL) 또는 numpy 라이브러리와 같은 C 확장 라이브러리를 포함하는 경우 AWS Serverless Application Model(AWS SAM) 명령줄 인터페이스(CLI)를 사용하여 배포 패키지를 빌드하는 것이 좋습니다.

이 섹션에서는 배포 패키지로 .zip 파일을 생성한 다음 .zip 파일을 사용하여 AWS Command Line Interface(AWS CLI)에서 Lambda에 함수 코드를 배포하는 방법을 설명합니다.

사전 조건

AWS CLI은(는) 명령줄 셸의 명령을 사용하여 AWS 서비스와 상호 작용할 수 있는 오픈 소스 도구입니다. 이 섹션의 단계를 완료하려면 다음이 필요합니다.

런타임 종속성이란 무엇인가요?

런타임 종속성이 있거나 없는 Lambda 함수를 생성하거나 업데이트하려면 배포 패키지가 필요합니다. 배포 패키지는 Lambda에서 함수의 코드 및 종속성(해당되는 경우)을 실행하는 소스 번들 역할을 합니다.

종속 항목은 함수 코드에 대한 Lambda 런타임 환경에 포함되지 않은 모든 패키지, 모듈 또는 기타 어셈블리 종속 항목이 될 수 있습니다. 자세한 내용은 런타임 종속성이란 무엇인가요? 단원을 참조하세요.

다음 예제에서는 런타임 종속성이 없는 Lambda 함수를 설명합니다.

  • 함수의 코드가 Python 3.8 버전이고, 표준 Python 수학 및 로깅 라이브러리에만 의존하는 경우 .zip 파일에 라이브러리를 포함하지 않아도 됩니다. 이러한 라이브러리는 python3.8 런타임에 포함되어 있습니다.

  • 함수의 코드가 Python용 AWS SDK(Boto3)에만 의존하는 경우 .zip 파일에 boto3 라이브러리를 포함하지 않아도 됩니다. 이러한 라이브러리는 python3.8 런타임에 포함되어 있습니다.

AWS SDK의 전체 목록은 AWS에서 빌드할 도구를 참조하십시오.