使用DynamoDB和expressjs(节点js)进行CRUD操作

使用DynamoDB和expressjs(节点js)进行CRUD操作,express,amazon-dynamodb,Express,Amazon Dynamodb,我正在尝试创建一条路线,该路线将在DynamoDB上执行一些CRUD操作。 在高层次上,可以理解为: node js server应用程序正在运行。(即,正在触发命令“node server.js”) 用户使用chrome浏览器的邮递员进行路由请求 用户对“”执行GET请求 与此url连接的特定路由将被命中,这将执行dynamodb特定的活动。(比如连接到dynamodb,获取表名并在回调方法中显示它。) 我问这个问题的原因是,我找不到任何关于如何使用节点的expressjs进行dynamodb

我正在尝试创建一条路线,该路线将在DynamoDB上执行一些CRUD操作。 在高层次上,可以理解为:

  • node js server应用程序正在运行。(即,正在触发命令“node server.js”)
  • 用户使用chrome浏览器的邮递员进行路由请求
  • 用户对“”执行GET请求
  • 与此url连接的特定路由将被命中,这将执行dynamodb特定的活动。(比如连接到dynamodb,获取表名并在回调方法中显示它。)
  • 我问这个问题的原因是,我找不到任何关于如何使用节点的expressjs进行dynamodb活动的相关教程。我所能找到的只是aws网站上的控制台应用程序,对我来说似乎没什么用处。 非常感谢您的任何帮助

    需要访问密钥 你所需要做的就是做一个DynamoDB对象来连接

    var ddb = require('dynamodb').ddb({ accessKeyId: '< your_access_key_id >', secretAccessKey: '< your_secret_access_key >' });
    
    这将列出数据库中的所有表

    用于完整源代码检查


    祝你好运

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

  • 在aws帐户的EC2实例中运行代码,并附加IAM角色,该角色允许EC2实例与dynamodb对话。(这样,您不需要在代码中硬编码访问密钥)请参见此
  • 初始代码脚手架可参考以下代码 `


    `

    嗨,乔,谢谢你的回复。我认为在代码中加入accesskey和secret完全不是拥有安全解决方案的选择。它的服务器端应该是安全的。。。任何wordpress站点的后端都有数据库密码和各种类型的密码,只需保存在代码中。没有用户可以访问此代码,它根本不是客户端。
    ddb.listTables({}, function(err, res) {console.log(res);});
    
    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;