By using AWS re:Post, you agree to the Terms of Use

Incompatibility between State.EnteredTime and the DynamoDB .Net SDK


I've observed that the value of the AWS Step Functions context variable $$.State.EnteredTime will trim trailing zeros when the time is "on a second" (i.e. there are no milliseconds) rather than using ".000". This is okay according to ISO 8601, so within the realm of correctness for the Step Functions team. However, the DynamoDB .Net SDK is unable to deserialize the date in that format. So, when using a DDB SDK integration in a StateMachine that writes out the value of $$.State.EnteredTime (unaltered) to a table, attempting to deserialize it using a DynamoDBContext, will result in an exception being thrown.

Is this a bug, and if so in which product? IMHO, the trimming of trailing zeros is a weird and essentially pointless optimization (if that's the motivation), but the brittleness of the DDB .Net SDK is likewise an issue.

More importantly, is there a better way to handle this other than writing a custom IPropertyConverter and using it on any property that may be updated from a StateMachine?

1 Answer

Since this issue was rerouted to GitHub, I am leaving an answer to this question to remove it from the unanswered column. Please let us know if you need further assistance!

answered 10 days 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