저는 오랫동안이 문제로 어려움을 겪었습니다. 여기에 (더 좋은 방법이있을 수 있습니다) 내 해결책 :이 같은 파일 시스템에
설정 도우미 기능 : __init__.py
는
pathToSomewhere/my_helper/helper_functions.py pathToSomewhere/my_helper/__init__.py pathToSomewhere/setup.py
인 경우 :
from .helper_functions import *
및 setup.py
입니다
from setuptools import setup
setup(name='my_helper',
version='0.10000',
description='My helper functions',
url='http://github.com/user/example',
license='Proprietary',
author='Null',
author_email='[email protected]',
packages=['my_helper'],
install_requires=['boto3'],
zip_safe=False)
이제 my_helper
을 포장 해 봅시다. pathToSomewhere/
에서 다음을 실행
python setup.py sdist
나는 이미 만드는 방법을 알고 당신의 람다 함수를 실행하기위한 가상 환경을 업로드 있으리라 믿고있어. 그렇지 않다면 알려주세요.
이제 람다 함수의 가상 환경에 my_helper
을 설치해 보겠습니다. 이제 가상 환경을 가정 해 봅시다 지금
./worker-env/bin/pip install file://pathToSomewhere/my_helper
worker_env
라고 worker-env
을 압축하여 실제 람다 스크립트가 업로드됩니다.
람다 패키지에는 크기 제한이 있습니다. zip 패키지 내에 해당 크기에 맞는 모든 모듈을 포함해야합니다. 나머지 모듈은 s3에 저장하고 거기에서 가져올 수 있습니다. – MYGz
모듈을 모든 람다 패키지에 포함시킨 다음 모듈에서 무언가를 변경하고 싶다면 모든 람다 패키지를 업데이트해야합니다. zip 패키지의 모듈을 포함하여 – Sibtain
이 더 효율적입니다. 작은 스크립트를 작성하여 모든 패키지의 모듈을 업데이트 할 수 있습니다. 확인 : http://docs.aws.amazon.com/cli/latest/reference/lambda/update-function-code.html – MYGz