Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/wordpress/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Amazon web services AWS Lambda扫描dynamoDB表_Amazon Web Services_Amazon Dynamodb_Aws Lambda - Fatal编程技术网

Amazon web services AWS Lambda扫描dynamoDB表

Amazon web services AWS Lambda扫描dynamoDB表,amazon-web-services,amazon-dynamodb,aws-lambda,Amazon Web Services,Amazon Dynamodb,Aws Lambda,我正在尝试扫描dynamodb表中所有价格在1到13之间的条目 var AWS = require('aws-sdk'); var db = new AWS.DynamoDB(); exports.handler = function(event, context) { var params = { TableName: "hexagon2", ProjectionExpression: "price", FilterExpression: "pric

我正在尝试扫描dynamodb表中所有价格在1到13之间的条目

    var AWS = require('aws-sdk');
var db = new AWS.DynamoDB();


exports.handler = function(event, context) {

  var params = {
    TableName: "hexagon2",
    ProjectionExpression: "price", 
    FilterExpression: "price between :lower and :higher",
    ExpressionAttributeValues: {
     ":lower": {"N": "1"},
     ":higher": {"N": "13"}
    }
};

  db.scan(params, function(err, data) {
    if (err) {
      console.log(err); // an error occurred
      } 
    else {
      console.log(data.Item); // successful response
      context.done(null,{"Result": "Operation succeeded."});
      }
  });
};
但是当我测试它时,我总是得到以下错误。我的表中肯定有“price”作为数字属性,IAM也已设置

START RequestId: f770c78b-93a1-11e6-b5f6-e5c31cef8b2d Version: $LATEST
2016-10-16T13:10:54.299Z    f770c78b-93a1-11e6-b5f6-e5c31cef8b2d    undefined
END RequestId: f770c78b-93a1-11e6-b5f6-e5c31cef8b2d
REPORT RequestId: f770c78b-93a1-11e6-b5f6-e5c31cef8b2d  Duration: 912.58 ms Billed Duration: 1000 ms    Memory Size: 128 MB Max Memory Used: 24 MB  

您正在尝试引用未定义的
数据。项
。扫描操作返回一个列表,而不是单个项目。该列表将通过
data.Items


如果有疑问,请阅读。或者您可以打印整个
数据
响应,以查看返回的响应的确切格式。

返回
[{price:{N:'12'},{price:{N:'10'}]
(这是符合标准的两个项目的价格,而不是带有名称的整个项目等。为什么它会这样做,即使它获得了整个
数据。项目
?使用DynamoDB,您必须告诉它您想要返回哪些属性。如果您想要返回所有属性,您需要添加
选择:“所有属性”
到您的
params
对象。这些都在文档中有明确的说明。我真的建议您阅读文档。至少您应该到这里查看
查询
函数使用的所有参数以及每个参数的作用。