小编Kev*_*ick的帖子

从 AWS Lambda 调用 DynamoDB 对象上的 getItem(),为什么我的回调不执行?

我正在尝试从我的 DynamoDB 数据库中获取一个项目。我的代码目前的编写方式,我无法从 DynamoDB 检索任何数据。我一定是做错了什么,因为据我从测试中可以看出,我的回调没有被调用。

昨天我花了一整天的时间,自从我今天早上醒来以来一直在修补它,但没有成功。

如果有人能深入了解我在这里做错了什么,我将不胜感激。提前感谢大家!

最后说明:Lambda 函数本身的超时设置为 5 分钟。所以我不认为 Lambda 函数在 db 查询可以返回之前超时。当我运行该函数时,它会在片刻后退出。

const AWS = require('aws-sdk');

const dynamodb = new AWS.DynamoDB();
var response = null;
var test = false;

function getFromDB(callback) {
  const params = {
    TableName: process.env['DB_TABLE_NAME'] // evaluates to 'test-table',
    Key: {
      "id": {
        S: postId // evaluates to a big string, pulling it in from an SNS message. Verified it with console.log(). It stores the expected value.
      }
    }
  };
  dynamodb.getItem(params, function(err, data) { …
Run Code Online (Sandbox Code Playgroud)

amazon-dynamodb aws-lambda aws-sdk-nodejs

3
推荐指数
1
解决办法
2505
查看次数