将Node.js应用程序连接到DynamoDB

将Node.js应用程序连接到DynamoDB,node.js,amazon-dynamodb,Node.js,Amazon Dynamodb,因此,我在过去的两天中搜索了文档、示例或任何可以具体说明如何在node.js应用程序和AWS DynamoDB之间连续设置连接的内容。我对这两个方面都很陌生,但似乎有更多关于Java、PHP和.NET的文档 即使在遵循AWS提供的文档上的所有说明之后,我似乎也无法让我的应用程序正常工作。为了测试是否所有配置都正确,我尝试将文本文件上传到S3,效果很好 你知道为什么会这样吗?我没有得到任何错误或成功,所以我觉得它没有连接,但不确定是否有其他人熟悉这个问题?谢谢 您可以使用AWS NodeJS SD

因此,我在过去的两天中搜索了文档、示例或任何可以具体说明如何在node.js应用程序和AWS DynamoDB之间连续设置连接的内容。我对这两个方面都很陌生,但似乎有更多关于Java、PHP和.NET的文档

即使在遵循AWS提供的文档上的所有说明之后,我似乎也无法让我的应用程序正常工作。为了测试是否所有配置都正确,我尝试将文本文件上传到S3,效果很好


你知道为什么会这样吗?我没有得到任何错误或成功,所以我觉得它没有连接,但不确定是否有其他人熟悉这个问题?谢谢

您可以使用AWS NodeJS SDK来处理DynamoDB()。对于提取了一些复杂性的中级SDK,您也可以查看

您需要首先登录aws帐户,创建一个组和一个用户,然后您将获得访问密钥ID和机密访问密钥,您可以将其下载到csv文件中

然后创建一个表并将记录插入该表,然后您可以使用下面的代码使用您的访问密钥ID、机密访问密钥、区域和表名

app.js

dynamo.js


如果你自己做不到,就不要使用DynamoDB。它非常原始……如果您想在本地试用中级sdk,可以将DynamoDB Local与JavaScript shell()结合使用。
let app=require('express')();
let dynamoRoute= require('./dynamo');

app.use('/',dynamoRoute);

app.listen('4000',(err)=>{
    if(err) console.log(err)
    else console.log('server running');
})

module.exports=app;
let AWS = require('aws-sdk');
let express = require('express');
let router = express.Router();
let config = require('./config/dev');
AWS.config.update({
 "region": "",
 "accessKeyId": "",
 "secretAccessKey": ""
});

let docClient = new AWS.DynamoDB.DocumentClient();
let table = "sports";

router.get('/fetch', (req, res) => {

let spid = '101';
let params = {
    TableName: table,
    Key: {
        spid: spid
    }
};

docClient.get(params, function (err, data) {
    if (err) {
        console.log(err);
        handleError(err, res);
    } else {
        handleSuccess(data.Item, res);
    }
 });
});
function handleError(err, res) {
    res.json({ 'message': 'server side error', statusCode: 500, error: 
    err });
}

function handleSuccess(data, res) {
    res.json({ message: 'success', statusCode: 200, data: data })
}