Função de camada lambda para floco de neve
Eu segui o método padrão para criar uma Camada Lambda no Snowflake.
[em uma instância AWS EC2] rm -rf snowflake mkdir -p snowflake/python/lib/python3.7/site-packages pip3 install --no-cache-dir --ignore-installed --upgrade snowflake-connector-python - floco de neve/python/lib/python3.7/site-packages cd floco de neve; rm -f snowflake.zip; zip -r floco de neve.zip .
Posso criar a Camada Lambda e adicioná-la à minha função Lambda. Bem como validar que a biblioteca está anexada, mas quando chamo a função Lambda, está falhando
importar floco de neve. conector
[ERRO] Runtime.ImportModuleError: Não é possível importar o módulo 'lambda_function': Nenhum módulo chamado 'floco de neve'
Existem bibliotecas Lambda floco de neve ou guias detalhados sobre o que pode estar errado aqui. Eu construo camadas lambda o tempo todo dessa maneira e geralmente o processo acima funciona.
Respostas
A questão acabou por ser um requisito em 3.7. Eu adicionei o seguinte à minha criação de biblioteca e funcionou bem:
Alterei a versão padrão do python em minha função do Lambda para 3.7 para corresponder à instância do python que usei para compilar a biblioteca e, em seguida, adicionei o seguinte ao meu código:
ssh -i ${PEM_FILE} ${EC2_HOST} "cp -r snowflake/python/lib/python3.7/site-packages/* dblayer/python/lib/python3.7/site-packages"