【问题标题】:AWS Lambda function to Retrieve a DynamoDB column by passing primary key as a parameterAWS Lambda 函数通过将主键作为参数传递来检索 DynamoDB 列
【发布时间】:2020-04-14 10:48:56
【问题描述】:

在将主分区键作为 URL 中的参数传递时,我试图从 DynamoDB 中检索值。

我有一个包含两列的表格:

  • 电影编号
  • 电影名称。

我希望能够在 URL 中传递电影 ID 并获得相应的电影作为结果。我已经创建了以下 lambda 函数并将其连接到 API 和 DynamoDB。

在将电影 id 作为参数传递时,我无法找出用于检索电影名称的代码

到目前为止,这是我的代码:

console.log('Loading function');

const AWS = require('aws-sdk');
const docClient = new AWS.DynamoDB.DocumentClient({region: 'us-east-2'});

exports.handler =  function(event, context,callback) {

    var params = {
        TableName: 'movie',
        Key: {

            "movieID": 5,
        }
    }


    docClient.get(params, function(err, data){
    if(err){
        callback(err,null);
        }else{
            callback(null, data);
        }
    })

};

【问题讨论】:

标签: node.js amazon-web-services amazon-dynamodb aws-api-gateway


【解决方案1】:

试试

    var params = {
        TableName: 'movie',
        Key: {

            "movieID": 5,
        },

         AttributesToGet= [
           "movie_name"
        ],
        ProjectionExpression: 'movie_name"
    }

https://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/DynamoDB.html

AttributesToGet 根据文档是一个遗留字段,应该使用 ProjectionExpression

【讨论】:

  • 我按照上面的建议使用了,但出现错误。甚至不允许我运行代码。你能分享一下完整的代码应该是什么样子吗?另外,我是否应该更改关键部分。我不认为我应该像那样硬编码它。我在想 getItem 可能会起作用。
猜你喜欢
  • 2017-12-30
  • 2018-10-26
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-03-07
  • 2017-10-06
  • 2016-04-10
  • 2020-02-18
相关资源
最近更新 更多