Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/454.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/87.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
Javascript 从DynamoDB表中获取最新值_Javascript_Html_Amazon Dynamodb - Fatal编程技术网

Javascript 从DynamoDB表中获取最新值

Javascript 从DynamoDB表中获取最新值,javascript,html,amazon-dynamodb,Javascript,Html,Amazon Dynamodb,我让传感器每4秒向DynamoDB表发送数据,我只想检索特定传感器的最新值。表中的主键是传感器ID和SysDt时间戳。我指定了一个索引,将传感器ID用作分区键,将GWID(网关ID)用作排序键。我无法从表中仅检索最新的值 这是我的剧本: AWS.config.update({ region: "us-west-2", endpoint: 'https://dynamodb.us-west-2.amazonaws.com', accessKeyId: "

我让传感器每4秒向DynamoDB表发送数据,我只想检索特定传感器的最新值。表中的主键是传感器ID和SysDt时间戳。我指定了一个索引,将传感器ID用作分区键,将GWID(网关ID)用作排序键。我无法从表中仅检索最新的值

这是我的剧本:

    AWS.config.update({
      region: "us-west-2",
      endpoint: 'https://dynamodb.us-west-2.amazonaws.com',
      accessKeyId: "Fakeaccesskey",
      secretAccessKey: "Fakesecretkey"
    });

    var docClient = new AWS.DynamoDB.DocumentClient();

    function readItemtesttwovalues() {
        var table = "TA_Log1";
        var indexidgwid = "ID-GWID-index";
        var ID = "BB00000013";
        var GWID = "AA00000001";


        var params = {
            TableName: table,
            IndexName: indexidgwid,
            Key:{
                "ID": ID,
                "GWID": GWID
            },
            ScanIndexForward: false,
            Limit: 1
        };
        docClient.query(params, function(err, data) {
            if (err) {
                document.getElementById('testtwostatus').innerHTML = "Unable to read item: " + "\n" + JSON.stringify(err, undefined, 2);
            } else {
                document.getElementById('testtwostatus').innerHTML = data.Item.Status;
                document.getElementById('testtwotemp').innerHTML = data.Item.Temp;
                document.getElementById('testtwotempmap').innerHTML = data.Item.Temp;
                document.getElementById('testtwohum').innerHTML = data.Item.Hum;
                document.getElementById('testtwohummap').innerHTML = data.Item.Hum;
                document.getElementById('testtwobat').innerHTML = data.Item.BatV;
                document.getElementById('testtwobatmap').innerHTML = data.Item.BatV;
                var temp = Number(data.Item.Temp);
            }
        });
    }
我已经读过了,但我不知道该怎么做


谢谢你的帮助。

我能找到答案,所以我想我会把它贴在这里,供任何想知道答案的人使用

我定义
参数的方法不正确。下面是Javascript代码:

AWS.config.update({
  region: "us-west-2",
  endpoint: 'https://dynamodb.us-west-2.amazonaws.com',
  accessKeyId: "Fakeaccesskey",
  secretAccessKey: "Fakesecretkey"
});

var docClient = new AWS.DynamoDB.DocumentClient();

function readItemtesttwovalues() {

    var params = {
        TableName: "TA_Log1",
        IndexName: "ID-GWID-index",
        KeyConditionExpression: "ID = :id and GWID = :gwid",
        ExpressionAttributeValues: {
            ":id": "BB00000013",
            ":gwid": "AA00000001"
        },
        ScanIndexForward: false,
        Limit: 1
    };
    docClient.query(params, function(err, data) {
        if (err) {
            document.getElementById('testtwostatus').innerHTML = "Unable to read item: " + "\n" + JSON.stringify(err, undefined, 2);
        } else {
            document.getElementById('testtwostatus').innerHTML = data.Item.Status;
            document.getElementById('testtwotemp').innerHTML = data.Item.Temp;
            document.getElementById('testtwotempmap').innerHTML = data.Item.Temp;
            document.getElementById('testtwohum').innerHTML = data.Item.Hum;
            document.getElementById('testtwohummap').innerHTML = data.Item.Hum;
            document.getElementById('testtwobat').innerHTML = data.Item.BatV;
            document.getElementById('testtwobatmap').innerHTML = data.Item.BatV;
            var temp = Number(data.Item.Temp);
        }
    });
}