[BUG] ApproximateCreationDateTime from DynamoDBStreamRecord in milliseconds when originating from Kinesis, not seconds.
- Dominant language
- Go
- Stars
- 3.8k
- Forks
- 578
- Avg merge
- 8h 18m
- Merged PRs (30d)
- 1
Description
This is essentially the same issue as https://github.com/aws/aws-lambda-dotnet/issues/839, but without crashing deserialization, which I'm guessing is due to the use of `float64` that avoids overflowing with the larger value to deserialize. The relevant points of discussion are:
- https://github.com/aws/aws-lambda-dotnet/issues/839#issuecomment-1055736269
- https://github.com/aws/aws-lambda-dotnet/issues/839#issuecomment-1063559586
It seems that the value of ApproximateCreationDateTime will be in seconds when coming from a DynamoDB Stream, but in milliseconds when coming from a Kinesis Stream:
- DynamoDB Streams - https://docs.aws.amazon.com/amazondynamodb/latest/APIReference/API_streams_StreamRecord.html
> The approximate date and time when the stream record was created, in [UNIX epoch time](http://www.epochconverter.com/) format and rounded down to the closest second
- Kinesis - https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/kds.html
> ApproximateCreationDateTime indicates the time of the modification in milliseconds.
There appears to be an internal ticket that's being tracked, so I wanted to open an issue here as well for AWS to monitor and hopefully resolve in the near future. Thanks!
Contributor guide
Assessment
This issue has not been assessed yet.