新秀无法在AWS中找到DynamoDB的连接字符串

时间:2019-03-08 11:07:20

标签: node.js amazon-dynamodb

我不敢问这个问题,但是AWS中的连接字符串在哪里,以便可以连接到DynamoDB?我的以下代码段显示您需要我的代码。查看AWS中的“ DynamoDB仪表板”页面,我看不到它。

唯一突出的是Amazon资源名称(ARN)值,但我认为这不是我的以下代码段所需的设置(?)

非常感谢,

配置(代码段)

module.exports = {
  db: 'mongodb://my_user:my_password@url:port/db',
  db_dev: 'mongodb://url:port/db',
};
  • 我在哪里可以从AWS中获得“ URL”?

更新

// Load the SDK and UUID
var AWS = require('aws-sdk');

// Set the region 
AWS.config.update({
  keyId: '...',
  accessKey: '...',
  region: '...'
});

// Create the DynamoDB service object
var ddb = new AWS.DynamoDB({apiVersion: '2012-08-10'});
var params = {
  TableName: 'customer',
  Item: {
    'email' : {S: 'test@test.com'}
  }
};

// Call DynamoDB to add the item to the table
ddb.putItem(params, function(err, data) {

  if (err) {
    console.log(err);
  } 
  else {
    console.log("Success", data);
  }

});

回复

 ResourceNotFoundException: Requested resource not found

 message: 'Requested resource not found',
  code: 'ResourceNotFoundException',
  time: 2019-03-08T21:14:23.831Z,
  requestId: '...',
  statusCode: 400,
  retryable: false,
  retryDelay: ... }

第二次更新

我尝试了以下代码示例,但是当我运行“ node myscript.js”时,它会超时并显示以下错误

github link

错误

Error { Error: connect ETIMEDOUT 1.1.1.1:443
    at TCPConnectWrap.afterConnect [as oncomplete] (net.js:1083:14)
  message: 'connect ETIMEDOUT 1.1.1.1:443',
  errno: 'ETIMEDOUT',
  code: 'NetworkingError',
  syscall: 'connect',
  address: '1.1.1.1',
  port: 443,
  region: 'REGION',
  hostname: 'dynamodb.region.amazonaws.com',

可重试:是的,   时间:2019-03-08T22:06:46.409Z}

1 个答案:

答案 0 :(得分:2)

您是否正在使用nodejs SDK?如果是这样,则不使用连接字符串,而是按以下方式创建客户端:

// Load the AWS SDK for Node.js
var AWS = require('aws-sdk');
// Set the region 
AWS.config.update({region: 'us-east-1'});

// Create the DynamoDB service object
var ddb = new AWS.DynamoDB({apiVersion: '2012-08-10'});

如果您使用的是本地实例,您也可以这样做:

AWS.config.update({endpoint: 'http://localhost:8000'});