【问题标题】:How To Save Data According To The Seconds From Continuous Incoming Data如何根据连续传入数据的秒数保存数据
【发布时间】:2021-02-09 17:19:24
【问题描述】:

我是 AWS IoT、Amazon DynamoDB 和 AWS 的新手。我从我的 MQTT 客户端收到大量数据。我可以将它们存储在 AWS DynamoDB 中,但实际上我不想存储所有这些。 (想象一下,在现实生活中,我在 1 分钟内获得了 10.000 个数据。您需要忽略其中的一些。) 例如;如果我每秒接收数据,我只想在奇数秒内保存数据。 和这个一样;

1st Second -> store the data in AWS DynamoDB 
2nd Second -> dont write to Database 
3rd Second -> store the data in AWS DynamoDB 
4th Second-> dont write to Database 
....

这通常是我的 SQL 在 AWS IoT 规则中的样子,用于将所有数据存储在 AWS DynamoDB 中:

SELECT *, timestamp() AS timestamp FROM 'trucks/#' 

为了达到我的目标,我尝试了这样的方法:

SELECT *, timestamp() AS timestamp FROM 'trucks/#' WHERE timestamp%2=1

这意味着如果时间戳是奇数,则保存数据。但它当然没有用。

您对如何在 AWS IoT 规则中执行此操作有任何想法吗?有没有办法做到这一点? 提前致谢!

【问题讨论】:

    标签: amazon-web-services aws-lambda amazon-dynamodb aws-iot


    【解决方案1】:

    试试这个:

    SELECT *, timestamp() as timestamp FROM 'iot/topic' where timestamp()%2=1
    

    【讨论】:

    • 成功了,非常感谢!另外,我的时间戳以毫秒为单位,我需要从最后一个数字中获取第 4 位。例如:1603900769261。我在 SQL 中这样做了:SELECT *, timestamp() as timestamp FROM 'trucks4/#' where floor(((timestamp()%10000)/1000))%2=1 我希望它有意义。 @柯克
    猜你喜欢
    • 1970-01-01
    • 2020-12-26
    • 2016-06-11
    • 1970-01-01
    • 1970-01-01
    • 2020-03-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多