Amazon web services 如何根据连续输入数据的秒数保存数据
我是AWS物联网、亚马逊DynamoDB和AWS的新手。我从MQTT客户机接收大量数据。我可以将它们存储在AWS DynamoDB中,但实际上我不想将它们全部存储。想象一下,在现实生活中,我在一分钟内获得了10000个数据。你需要忽略其中一些。例如如果我每秒接收数据,我只想在奇数秒内保存数据。 与此相同,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
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,我希望这是有意义的@柯克