sql >> Databasteknik >  >> RDS >> Mysql

Kan inte hitta MySQL i NodeJS med AWS Lambda

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,

  1. npm install mysql --save
  2. Zippa din mapp och INKLUSIVE ditt nodpaket
  3. 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!



  1. Påverkar storleken på loggfilen databasens prestanda? Hur krymper man loggfilen?

  2. Karta Guid Property till Oracle i Entity Framework Code först

  3. Vilka ramverk ska jag använda för att starta mitt första produktionsscala-projekt?

  4. Se lagrad procedur/funktionsdefinition i MySQL