-1

J'ai écrit une simple fonction lambda pour lister les tables sur DynammoDb. Mais lorsque j'exécute Mon code, je ne parviens pas à me connecter au serveur de base de données. Je reçois NetworkingError.
Voici le code,
Impossible de se connecter à dynammo db à partir de Lambda

'use strict'; 

console.log('Loading function'); 

exports.handler = (event, context, callback) => { 
console.log("$$$$$$$$$second test$$$$$$$$$$") 
//var src_bkt = event.Records[0].s3.bucket.name; 
//var src_key = event.Records[0].s3.object.key; 
var AWS = require("aws-sdk"); 
//console.log(src_bkt) 


console.log("##########################################") 

console.log("$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$") 
var dynamodb = new AWS.DynamoDB({ 
region: 'us-east-1', 
endpoint: "http://localhost:8000" 
}); 


    dynamodb.listTables({Limit: 10}, function(err, data) { 
     if (err) { 
     console.log("Error", err.code); 
     } else { 
     console.log("Table names are ", data.TableNames); 
     } 
    }); 
}; 

Toute suggestion sera utile

+2

Je ne pense pas que lorsque vous vous connectez à AWS DynamoDB, point final sera 'http: // localhost: 8000' –

+0

J'ai fourni la même – heisenberg

+0

Il devrait également être 'KEY' et' SECRET' –

Répondre

0

Vous devez créer une instance de documentClient comme ci-dessous,

var docClient = new AWS.DynamoDB.DocumentClient(); 

Et appelez 'listTables' avec documentClient. S'il vous plaît trouver un exemple de code pour PUT qui montre comment j'utilise documentClient,

var AWS = require("aws-sdk"); 
 

 
AWS.config.update({ 
 
    region: "REGION" 
 
}); 
 

 
var docClient = new AWS.DynamoDB.DocumentClient(); 
 

 
exports.handler = (event, context, callback) => { 
 
    var table = "EmployeeDetails"; 
 

 
    var params = { 
 
     TableName: table, 
 
     Item: { 
 
      "Id" : event.Id, 
 
      "FirstName": event.FirstName, 
 
      "LastName": event.LastName, 
 
      "Age": event.Age, 
 
      "Gender": event.Gender 
 
     } 
 
    }; 
 

 
    
 
    docClient.put(params, function (err, data) { 
 
     if (err) { 
 
      console.error("Unable to add item. Error JSON:", JSON.stringify(err, null, 2)); 
 
     } else { 
 
      callback(null, "Added item:", JSON.stringify(data, null, 2)) 
 
     } 
 
    }); 
 
    
 
};

Si vous utilisez dans la région Lambda n'est pas obligatoire, mais il fonctionnera avec la région ainsi.

Le même code est dans mon GitHub aussi bien - https://github.com/vnathv/DynamoDb-CRUD.git