Ohk så detta förväntas hända.
Problemet är att AWS Lambda körs på en annan maskin och det finns inget sätt att konfigurera just den maskinen för att köras i en anpassad miljö. Du kan dock paketera nodmodulen för mysql
eller node-mysql
i en zip och ladda upp till AWS Lambda. Steg är,
npm install mysql --save
- Zippa din mapp och INKLUSIVE ditt nodpaket
- Ladda upp denna zip-fil som din kod i AWS Lambda.
Du kan också ta ett bättre tillvägagångssätt genom att använda Serverless Framework. Mer information här
. I detta tillvägagångssätt skriver du en YAML-fil som innehåller alla detaljer och konfigurationer du vill distribuera din lambda med. Under din lambda-konfiguration, ange sökväg till din nodmodul (säg, nodemodule/**
) under package
-> include
sektion. Detta kommer att paketera det du behöver tillsammans med din kod. Senare med hjälp av kommandoraden kan du distribuera denna lambda. Den använder AWS Cloudformation-tjänst och är ett av de mest föredragna sätten att distribuera resurser.
Mer information om paketering med Serverless Framework finns här .
Obs! För att använda ett serverlöst ramverk finns det några steg som att skaffa API-nycklar för din användare, ställa in rätt behörigheter i IAM etc. Dessa är bara initiala installationer och kommer inte att behövas senare. Utför dessa innan du distribuerar med ett serverlöst ramverk.
Hoppas detta hjälper!