2016-04-09 13 views
5

Próbuję utworzyć trasę, która wykona pewne operacje CRUD na DynamoDB. na wysokim poziomie, to może być rozumiane jako:.Operacje CRUD przy użyciu DynamoDB z expressjs (węzeł js)

  1. Serwer aplikacji węzła js działa (tzn komenda „węzeł server.js” jest wyzwalane)
  2. użytkownik korzysta z przeglądarki Chrome listonosz zrobić prośby o trasę.
  3. Użytkownik wykonuje żądanie GET dla "http://localhost:8080/listtablesofdynamodb".
  4. Zostanie trafiona określona trasa związana z tym adresem URL, która powinna spełniać specyficzną aktywność dynamodb. (Jak podłączenie do dynamodb, pobierania nazwy tabel i pokazano go w metodzie zwrotnej.)

Powodem Zadaję to pytanie jest, bo nie mogłem znaleźć żadnego odpowiedniego tutorial jak to zrobić aktywność dynamodb za pomocą wyraźnych JS węzeł. Jedyne, co mogłem znaleźć, to aplikacje konsoli na stronie aws, które wydają mi się mało użyteczne. Każda pomoc jest bardzo cenna. wymagane

Odpowiedz

0

szczęście mogę zarządzać korzystania AWS-SDK w mojej trasie. Rozwiązanie ma dwa etapy:

  1. uruchomić kod na koncie AWS instancji EC2 i dołączyć IAM rolę, która umożliwia wystąpienie EC2 rozmawiać dynamodb. (w ten sposób nie potrzebujesz twardego klucza dostępu w swoim kodzie) zobacz ten article.
  2. może odwoływać się do poniższego kodu dla początkowego rusztowania kodu.

`

var express = require('express'); 
var router = express.Router(); 
var AWS = require("aws-sdk"); 
AWS.config.update({ 
     region: "us-west-2", 
     endpoint: "dynamodb endpoint specific to your aws account" 
}); 
var dynamodb = new AWS.DynamoDB(); 
var params = { 
     ExclusiveStartTableName: "stringvalue", 
     Limit: 10 
}; 
/* GET users listing. */ 
router.get('/', function (req, res) { 
     console.log("entered into dynadb route"); 
     dynamodb.listTables(params, function (err, data) { 
      if (err) console.log(err, err.stack); // an error occurred 
      else { 
        res.send(data); 
      } 
     }); 
}); 
module.exports = router; 

`

2

klucz dostępu

Wszystko, co musisz zrobić, d jest obiektem DynamoDB połączyć zbyt

var ddb = require('dynamodb').ddb({ accessKeyId: '<your_access_key_id>', secretAccessKey: '<your_secret_access_key>' }); 

umieścić to pod swój wymaga oświadczenia, włącz serwer. Następnie możesz po prostu wypełnić trasy, aby wykonać wymagane operacje CRUD.

przetestować go użyć

ddb.listTables({}, function(err, res) {console.log(res);}); 

Będzie to lista wszystkich tabel w db.

pełnego źródła sprawdzić here

Powodzenia

+0

HI Joe dzięki za odpowiedź. Uważam, że umieszczanie kodu dostępu i klucza tajnego nie jest całkowicie wyborem na bezpieczne rozwiązanie. –

+0

jego strona serwera powinna być bezpieczna ... Każda witryna wordpress ma hasła baz danych i wszelkiego rodzaju w backendach, po prostu siedzi w kodzie. żaden użytkownik nie ma dostępu do tego kodu, w ogóle nie jest jego stroną. –

Powiązane problemy