我如何在Node中使用亚马逊的Dynamodb Local?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了我如何在Node中使用亚马逊的Dynamodb Local?相关的知识,希望对你有一定的参考价值。

亚马逊提供local simulator for their Dynamodb productexamples are only in PHP

这些示例提到传递参数“base_url”以指定您正在使用本地Dynamodb,但是在Node中返回此错误:

{ [UnrecognizedClientException: The security token included in the request is invalid.]
  message: 'The security token included in the request is invalid.',
  code: 'UnrecognizedClientException',
  name: 'UnrecognizedClientException',
  statusCode: 400,
  retryable: false }

如何让Dynamodb_local在Node中工作?

答案

你应该按照这个blog post设置你的DynamoDB Local,然后你可以简单地使用这个代码:

var AWS= require('aws-sdk'),
dyn= new AWS.DynamoDB({ endpoint: new AWS.Endpoint('http://localhost:8000') });

dyn.listTables(function (err, data)
{
   console.log('listTables',err,data);
});
另一答案

对于Node,请执行以下操作:

const AWS = require('aws-sdk');
const AWSaccessKeyId = 'not-important';
const AWSsecretAccessKey = 'not-important';      
const AWSregion = 'local';
const AWSendpoint = 'http://localhost:8000' // This is required
AWS.config.update({
    accessKeyId: AWSaccessKeyId,
    secretAccessKey: AWSsecretAccessKey,  
    region: AWSregion,
    endpoint: AWSendpoint
});

确保DynamodDB在端口8000上运行。

以上是关于我如何在Node中使用亚马逊的Dynamodb Local?的主要内容,如果未能解决你的问题,请参考以下文章

没有主键知识的亚马逊 dynamodb 查询

如何在DynamoDB查询中计算消耗的读取容量单位

如何在 DynamoDB 中添加列

亚马逊 dynamodb(通过 aws sdk)是不是有一个很好的对象映射器,可以在 nodejs 中使用?

如何检查然后更新node.js中的AWS dynamoDB项?

按日期查询DynamoDB