webentwicklung-frage-antwort-db.com.de

Probleme beim Hochladen einer Postleitzahl in aws lambda

Ich bin neu bei aws und habe gerade angefangen, mit aws lambda herumzuarbeiten, indem ich ein paar youtube-Tutorials durchführte und aws lambda-Funktionen erfolgreich auf dem Web-Editor selbst schreiben konnte.

Ich habe es jedoch mit der hochzuladenden Zip-Datei aus meinem lokalen System versucht, in der ich einen node.js-Code geschrieben habe, der die Module "fs" und "fill-pdf" verwendet. Aber als ich versuchte, den Code auszuführen, gab es einen Fehler. 

"error": Modul nicht gefunden "/var/task/index".[.____.(Ich habe im Internet gesucht und einige Links gefunden, wie: https://github.com/lob/lambda- pdftk-example Ich habe es versucht, aber es zeigt auch den gleichen Fehler.

Hier ist mein Code:

    var index = require('index');
    var fillPdf = require("fill-pdf");
    var fs = require('fs');
    var formDate = {
    'Employee Name': 'MyName',
    'Company Name': 'ComapnyName'
     };
    var pdfTemplatePath = "my.pdf";


    fillPdf.generatePdf(formDate, pdfTemplatePath, function(err,   
    output) {
    if ( !err ) {

         fs.writeFile('message.pdf', output, function (err) {
    if (err) throw err;
    console.log('It\'s saved! in same location.');
    });
     }
   });

Die Sache ist, dass ich nicht weiß, was der Grund dafür sein könnte, dass dieser Fehler kommt. Danke für jede Hilfe. 

9
learner

Stellen Sie sicher, dass Sie den Ordner nicht komprimieren, sondern den Inhalt. Stellen Sie sicher, dass Ihre Zip index.js in der Root-Ebene enthält

28
lyosef

Der Fehler kann folgende Ursachen haben:

1. Properly Zip the folder wait for it's zipping process completion and 
 then upload.

2. First run the main.js file locally like using node main.js and check 
 are there any errors showing in the terminal window, if it does then 
 fix them and then upload.

3. Also there must be handler file that lambda needs, which is must 
  so if you have the handler.js file then when in aws lambda you 
 create a lambda function and check the configuration setting there 
 then do update the name of the handler file name with yours like by 
 default it is index.js may be you would have lambda.js do change it 
 with lambda name (example lambda.handler)
2
learner

Wenn dieser Fehler auftritt, bedeutet dies, dass Ihr Zip Nicht in gültiger Form vorliegt, in der aws fordert.

Wenn Sie auf Zip doppelklicken, finden Sie Ihren Ordner in Ihrer Codedatei, aber Lambda möchte, dass beim Doppelklicken auf Zip direkte Codedateien angezeigt werden.  

Um dies zu erreichen:

open terminal  
cd your-lambda-folder 
Zip -r index.Zip *

dann index.Zip in Lambda hochladen  

0
Ashutosh Jha

Entfernen Sie die Zeile var index = require('index');, da sie nicht in Ihrem Code verwendet wird. Ich bin nicht sicher, warum es das Modul nach der Installation nicht finden kann, aber in Ihrem aktuellen Beispiel benötigen Sie es nicht.

0
Corey Berigan