Acontece que eu não estava incluindo todos os arquivos necessários ao criar meu arquivo .zip, conforme descrito aqui: link
No processo de depuração, criei um ambiente Amazon Linux para instalar / compilar bibliotecas para máxima compatibilidade com o Lambda. Então, meu processo para empacotar as funções do Lambda agora se parece com isto:
- Acione um ambiente do Amazon Linux (por exemplo, o Docker).
- Use
yum
para instalarzip
,libffi-devel
, a versão desejada do Python (useipython36
) evirtualenv
. - Crie e ative um ambiente virtual. Instale todos os pacotes do Python com
pip
. -
Crie um arquivo .zip, incluindo a função Lambda e todos os pacotes de site do ambiente virtual. Por exemplo:
zip -9 lambda.zip myfunction.py cd venv/lib/python3.6/site-packages/ zip -r9 ../../../../lambda.zip . cd ../../../lib64/python3.6/site-packages/ zip -r9 ../../../../lambda.zip
-
Carregue
lambda.zip
para o AWS Lambda.