Amazon web services 如何根据连续输入数据的秒数保存数据

Amazon web services 如何根据连续输入数据的秒数保存数据,amazon-web-services,aws-lambda,amazon-dynamodb,aws-iot,Amazon Web Services,Aws Lambda,Amazon Dynamodb,Aws Iot,我是AWS物联网、亚马逊DynamoDB和AWS的新手。我从MQTT客户机接收大量数据。我可以将它们存储在AWS DynamoDB中,但实际上我不想将它们全部存储。想象一下,在现实生活中,我在一分钟内获得了10000个数据。你需要忽略其中一些。例如如果我每秒接收数据,我只想在奇数秒内保存数据。 与此相同, 1st Second -> store the data in AWS DynamoDB 2nd Second -> dont write to Database 3rd Se

我是AWS物联网、亚马逊DynamoDB和AWS的新手。我从MQTT客户机接收大量数据。我可以将它们存储在AWS DynamoDB中,但实际上我不想将它们全部存储。想象一下,在现实生活中,我在一分钟内获得了10000个数据。你需要忽略其中一些。例如如果我每秒接收数据,我只想在奇数秒内保存数据。 与此相同,

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 
....
在AWS IoT规则中,我的SQL通常是这样存储AWS DynamoDB中的所有数据的:

SELECT *, timestamp() AS timestamp FROM 'trucks/#' 
为了达到我的目标,我尝试了以下方法:

SELECT *, timestamp() AS timestamp FROM 'trucks/#' WHERE timestamp%2=1
这意味着如果时间戳为奇数,则保存数据。但它当然不起作用

你知道如何在AWS物联网规则中做到这一点吗?有办法吗? 提前谢谢

试试这个:

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

它成功了,非常感谢!另外,我的时间戳是毫秒,我需要从最后一个数字中获取第四个数字。例如:1603900769261。我在SQL中是这样做的:SELECT*,timestamp作为“trucks4/”中的timestamp,其中floorrtimestamp%10000/1000%2=1,我希望这是有意义的@柯克