Mysql
 sql >> Datenbank >  >> RDS >> Mysql

Kann MySQL in NodeJS mit AWS Lambda nicht finden

Ohk, das wird also erwartet.

Das Problem ist, dass AWS Lambda auf einem anderen Computer ausgeführt wird und Sie diesen bestimmten Computer nicht so konfigurieren können, dass er in einer benutzerdefinierten Umgebung ausgeführt wird. Sie können jedoch das Node-Modul von mysql paketieren oder node-mysql in einer ZIP-Datei und laden Sie sie in AWS Lambda hoch. Schritte sind,

  1. npm install mysql --save
  2. Zippen Sie Ihren Ordner und EINSCHLIESSLICH Ihr Knotenpaket
  3. Laden Sie diese ZIP-Datei als Ihren Code in AWS Lambda hoch.

Sie können auch einen besseren Ansatz wählen, indem Sie Serverless Framework verwenden. Weitere Informationen hier . Bei diesem Ansatz schreiben Sie eine YAML-Datei, die alle Details und Konfigurationen enthält, mit denen Sie Ihr Lambda bereitstellen möchten. Geben Sie unter Ihrer Lambda-Konfiguration den Pfad zu Ihrem Knotenmodul an (z. B. nodemodule/** ) unter package -> include Sektion. Dadurch wird Ihr benötigter Code zusammen mit Ihrem Code verpackt. Später können Sie dieses Lambda über die Befehlszeile bereitstellen. Es verwendet den AWS Cloudformation-Service und ist eine der am meisten bevorzugten Methoden zur Bereitstellung von Ressourcen.

Weitere Informationen zum Packen mit Serverless Framework finden Sie hier .

Hinweis: Um das serverlose Framework zu verwenden, sind einige Schritte erforderlich, z. B. das Abrufen von API-Schlüsseln für Ihren Benutzer, das Festlegen der richtigen Berechtigungen in IAM usw. Diese sind nur die Ersteinrichtung und werden später nicht mehr benötigt. Führen Sie diese vor der Bereitstellung mit dem serverlosen Framework durch.

Hoffe, das hilft!