Ohk, então isso é esperado para acontecer.
O problema é que o AWS Lambda é executado em uma máquina diferente e não há como configurar essa máquina específica para ser executada em um ambiente personalizado. No entanto, você pode empacotar o módulo Node do
mysql
ou node-mysql
em um zip e faça upload para o AWS Lambda. Os passos são, npm install mysql --save
- Zip sua pasta e INCLUINDO seu pacote de nós
- Faça upload deste arquivo zip como seu código no AWS Lambda.
Você também pode adotar uma abordagem melhor usando o Serverless Framework. Mais informações aqui . Nessa abordagem, você escreve um arquivo YAML que contém todos os detalhes e a configuração com os quais deseja implantar seu lambda. Em sua configuração lambda, especifique o caminho para seu módulo de nó (digamos,
nodemodule/**
) em package
-> include
seção. Isso irá empacotar o que você precisa junto com seu código. Mais tarde, usando a linha de comando, você pode implantar este lambda. Ele usa o serviço AWS Cloudformation e é uma das formas preferidas de implantar recursos. Mais informações sobre empacotamento usando o Serverless Framework podem ser encontradas aqui .
Observação: Para usar a estrutura sem servidor, há algumas etapas, como obter chaves de API para seu usuário, definir as permissões corretas no IAM etc. Essas são apenas a configuração inicial e não serão necessárias posteriormente. Execute-os antes da implantação usando a estrutura sem servidor.
Espero que isto ajude!