如何从连续传入的数据中按秒保存数据
How To Save Data According To The Seconds From Continuous Incoming Data
我是 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 规则中执行此操作吗?有办法吗?
提前致谢!
试试这个:
SELECT *, timestamp() as timestamp FROM 'iot/topic' where timestamp()%2=1
我是 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 规则中执行此操作吗?有办法吗? 提前致谢!
试试这个:
SELECT *, timestamp() as timestamp FROM 'iot/topic' where timestamp()%2=1