Och, więc oczekuje się, że tak się stanie.
Problem polega na tym, że AWS Lambda działa na innej maszynie i nie ma możliwości skonfigurowania tej konkretnej maszyny do pracy w niestandardowym środowisku. Możesz jednak spakować moduł węzła mysql
lub node-mysql
w zip i wgraj do AWS Lambda. Kroki są,
npm install mysql --save
- Skompresuj folder i W TYM Twój pakiet węzłów
- Prześlij ten plik zip jako swój kod w AWS Lambda.
Możesz również zastosować lepsze podejście, korzystając z platformy Serverless Framework. Więcej informacji tutaj
. W tym podejściu piszesz plik YAML, który zawiera wszystkie szczegóły i konfigurację, z którą chcesz wdrożyć swoją lambdę. W konfiguracji lambda określ ścieżkę do modułu węzła (powiedzmy, nodemodule/**
) pod package
-> include
Sekcja. Spowoduje to spakowanie wymaganego wraz z kodem. Później za pomocą wiersza poleceń możesz wdrożyć tę lambdę. Korzysta z usługi AWS Cloudformation i jest jednym z najbardziej preferowanych sposobów wdrażania zasobów.
Więcej informacji na temat pakowania za pomocą Serverless Framework można znaleźć tutaj .
Uwaga: Aby korzystać z platformy bezserwerowej, należy wykonać kilka kroków, takich jak uzyskanie kluczy API dla użytkownika, ustawienie odpowiednich uprawnień w uprawnieniach itp. To tylko wstępna konfiguracja i nie będą potrzebne później. Wykonaj te czynności przed wdrożeniem przy użyciu frameworka bezserwerowego.
Mam nadzieję, że to pomoże!