locked
Serialization Problem :Table Storage value is Record RRS feed

  • Question

  • Incoming json payload to ASA job in this form:

    {"DeviceName":"SP1011",
    "SerialNumber":"SP1011",
    "PowerMeasurements":{"RmsCurrent":[
        {"Timestamp":"2015-03-24T20:48:14.6670942Z","Line":"A","RmsCurrent":245.9915},
        {"Timestamp":"2015-03-24T20:48:14.6670942Z","Line":"B","RmsCurrent":249.8325}]}
    }

    The job uses some reference data to match the DeviceName to a Line.  The query is as follows:

    SELECT l1.DeviceName, System.TimeStamp as Received, s2l.LineId,  l1.PowerMeasurements
    FROM Line1 l1
    JOIN LineToDevice s2l ON s2l.DeviceName = l1.DeviceName

    Everything works fine except the PowerMeasurements is written to Table Storage with a string value of "Record" instead of the actual array.  Clearly, this is a odd situation but was hoping that the PowerMeasurements value would have held the JSON for so I could deserialize on my own.  Changing the value to "Record" is not that useful.

    Is there a work-around today?  Is this something that will be fixed when ASA goes GA?

    Thanks,

    Jeff


    Thursday, March 26, 2015 6:35 PM

Answers

  • Thanks for reporting this issue, this is a known limitation with the current implementation of output to Azure Table storage. We will take a work item to improve the behavior and preserve the format of your records in output.

    As a work around, you could pick JSON as the output serialization format which should preserve the record. For this you will have to use an output target other than Azure table storage.

    Thanks


    Zafar Abbas

    • Marked as answer by Zafar Abbas Sunday, March 29, 2015 4:01 AM
    Thursday, March 26, 2015 11:58 PM