使用带有expressjs的DynamoDB进行CRUD操作(节点js)

Gau*_*kla 5 express amazon-dynamodb

我正在尝试创建一个将在DynamoDB上执行一些CRUD操作的路由.在高层次上,它可以理解为:

  1. 节点js服务器应用程序正在运行.(即命令'node server.js'正在被触发)
  2. 用户使用chrome浏览器来执行路由请求.
  3. 用户对' http:// localhost:8080/listtablesofdynamodb ' 执行GET请求.
  4. 与此URL连接的特定路由会被击中,这应该执行dynamodb特定活动.(比如连接到dynamodb,获取表名并在回调方法中显示它.)

我问这个问题的原因是因为我找不到任何关于如何通过使用节点的快速js来做动态活动的相关教程.所有我能找到的是aws网站上的控制台应用程序,这似乎对我没用.任何形式的帮助都非常感谢.

Gau*_*kla 0

幸运的是,我可以在我的路线中使用 aws-sdk。该解决方案分为两个阶段:

  1. 在您的 aws 账户的 EC2 实例中运行代码并附加一个 IAM 角色,该角色允许 ec2 实例与 dynamodb 进行通信。(这样您就不需要在代码中硬编码访问密钥)请参阅这篇文章
  2. 可以参考下面的代码进行初始代码搭建。

`

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; 
Run Code Online (Sandbox Code Playgroud)

`