Timestamp not taken over when inserting data via IoT Core

0

Hi,

when writing messages into a Timestream table via IoT Core, the timestamp provided in the mqtt message payload is not is not taken over by Timestream. Instead the Timestream date is inserted into the database. Thats annoying since there is normally some delay between the creation time of some IoT data (which should be inserted into the database) and their arrival time at IoT Core / Timestream.
Am I doing missing something or does this happen by Timestream design?

msg.payload = {
somename: somevalue,
time = timestamp in ns
}

Edited by: asseldonk on Oct 8, 2020 1:05 AM

asked 4 years ago333 views
6 Answers
0

Hi there,

Thanks for reaching out. The timestamp of the record is set by the IoT Core rules engine while inserting data into Timestream. You can https://docs.aws.amazon.com/iot/latest/developerguide/timestream-rule-action.html for more information.

Having the ability to overwrite the timestamp is a great feature ask and we're happy to add it to our list of requested features.

Thanks for your interest and support in Timestream!

manbek
answered 4 years ago
0

Thats sad, cause it is a no go for us. Overwriting timestamps might be a nice feature in some cases. But we got thousand of machines all over world, each with multiple sensors and we strongly depend on the exact time of each measurement and not any IoT Core insertion time.
It would helpful to e.g. only use IoT Core's insertion time, if no timestamp is provided in an mqtt message payload.
So for now, Timestream is useless for us and we better migrate to Azure.

answered 4 years ago
0

It's the same for us.
Being a feature of IoT core, I guess this problem impacts most people doing IoT: you really need the timestamp of the original data, not that of the eventual DB recording. Maybe we'll get around this by triggering a Lambda to do the transformation, but it makes the whole "Direct IoT data ingestion to Timestream" feature unusable for most cases.
Hope this will be fixed soon.

Liviux
answered 4 years ago
0

Wow, that is a interesting choice for a TSDB.

So moving previously collected data into the database manually would reset their timeindex to insertion time?
And data coming from separate devices might deviate from eachother depending on the lag between the sensor and the arrival into timestream?

Can you please elaborate the reasoning behind this? I'd like to understand where Timestream would or would not work.

jv8x
answered 4 years ago
0

It's implemented - thanks a lot to AWS! Now, a timestamp provided by an MQTT Message is written into Timestream via IoT Core.

answered 4 years ago
0

Thanks for your feedback. We've recently updated the Amazon Timestream action in the AWS IoT Core Rules engine to support overwriting timestamps. You can find additional information if you click on the link below and look at the parameter called timestamp. We look forward to your feedback once you get a chance to test this.

https://docs.aws.amazon.com/iot/latest/developerguide/timestream-rule-action.html

Thank you!

AWS
answered 3 years ago

You are not logged in. Log in to post an answer.

A good answer clearly answers the question and provides constructive feedback and encourages professional growth in the question asker.

Guidelines for Answering Questions