Åh, så dette forventes at ske.
Problemet er, at AWS Lambda kører på en anden maskine, og der er ingen måde, du kan konfigurere den pågældende maskine til at køre i et brugerdefineret miljø. Du kan dog pakke nodemodulet af mysql
eller node-mysql
i en zip og upload til AWS Lambda. Trin er,
npm install mysql --save
- Zip din mappe og INKLUSIVE din nodepakke
- Upload denne zip-fil som din kode i AWS Lambda.
Du kan også tage en bedre tilgang ved at bruge Serverless Framework. Mere info her
. I denne tilgang skriver du en YAML-fil, som indeholder alle de detaljer og konfigurationer, du ønsker at implementere din lambda med. Under din lambda-konfiguration skal du angive stien til dit nodemodul (f.eks. nodemodule/**
) under package
-> include
afsnit. Dette vil pakke dine nødvendige sammen med din kode. Senere ved hjælp af kommandolinjen kan du implementere denne lambda. Det bruger AWS Cloudformation-tjenesten og er en af de mest foretrukne måder at implementere ressourcer på.
Flere oplysninger om pakning ved hjælp af Serverless Framework kan findes her .
Bemærk: For at bruge et serverløst framework er der et par trin som f.eks. at få API-nøgler til din bruger, indstille de rigtige tilladelser i IAM osv. Disse er kun den første opsætning og vil ikke være nødvendige senere. Udfør dem før implementering ved hjælp af serverløs ramme.
Håber dette hjælper!