2017-07-21 1 views
0

Ich bin neu in AWS und Lambda. Ich habe einen test aws Account erstellt und in DynamoDB eine Tabelle namens guestbook mit Feldern Daten und Nachricht erstellt. Ich habe den folgenden Code ausprobiert, um einen Datensatz mit der Lambda-Funktion in die Tabelle einzufügen.Fehler beim Schreiben der Lambda-Funktion zum Einfügen eines Datensatzes in DynamoDB Tabelle

und wenn ich versuche, um diese Funktion zu testen, seine diesen Fehler geben

{ „errormessage“: „Syntaxfehler in Modul‚lambda_function‘“}

Kann mir jemand helfen zu verstehen, was geht hier falsch.

FYI, ich kopierte den Code von Beispiel auf Youtube.

Hier ist der Code.

console.log('Starting Function'); 

const AWS = require ('aws-sdk'); 
const docClient = new AWS.DynamoDB.DocumentClient({ region: 'us-west-1' }); 
exports.handle = function (e, ctx, callback) { 

    var params = { 
     item: { 
      date: Date.now(), 
      message: "this is test" 
     }, 
     TableName: 'guestbook' 
    }; 

    docClient.put(params, function (err, data) { 
     if (err) { 
      callback(err, null); 
     } else { 
      callback(null, data); 
     } 
    }); 
} 

Antwort

1

Der Parameter war falsch. Der Führer der Apotheke ist here. Die richtigen Parameter sollten so sein.

console.log('Starting Function'); 
const AWS = require ('aws-sdk'); 
const docClient = new AWS.DynamoDB.DocumentClient({region: 'us-west-1'}); 
exports.handle = function (e,ctx, callback){ 


var params = { 
    TableName: 'guestbook' 
    Item: { 
     date: Date.now(), 
     message: "this is test" 
    } 
} 

docClient.put(params, function(err, data) { 
    if (err) { 
     callback(err, null); 
    } else { 
     callback(null,data); 
    } 
}); 
+0

Thx popoi, ich bekomme immer noch die gleiche Fehlerausgabe. Aber ich bemerkte unter Abmelden, dass es "Syntaxfehler im Modul 'lambda_function' heißt: ungültige Syntax (lambda_function.py, Zeile 2)". – ary

+2

Ihr Lambda läuft in Python Runtime, aber der Code ist für NodeJs. Damit der Code ausgeführt wird, möchten Sie ihn möglicherweise mit NodeJs 4.3 Runtime Environment ausführen, das Sie beim Erstellen der Lmbda-Funktion –

+0

vorwählen können. Ich korrigiere, wie Sie vorgeschlagen haben. Jetzt bekomme ich den Fehler "Task ist nach 3 Sekunden abgelaufen" was muss diesmal falsch sein? – ary

Verwandte Themen