Search code examples
uwp.net-coreazure-stream-analyticsazure-iot-hub

EnqueuedTime not set from IotHub


I have a stream analytics job being sourced from an IoTHub. I noticed that IoTHub properties are largely being set (ex: ConnectionDeviceId) but the EnqueuedTime is NOT. In some messages this property is missing altogether. Here is an example of the relevant properties:

    "EventProcessedUtcTime": "2017-03-04T13:03:47.4294959Z",
    "PartitionId": 1,
    "EventEnqueuedUtcTime": "2017-03-04T13:02:42.6930000Z",
    "IoTHub": {
        "MessageId": null,
        "CorrelationId": null,
        "ConnectionDeviceId": "Experiment1",
        "ConnectionDeviceGenerationId": "636146743722094236",
        "EnqueuedTime": "0001-01-01T00:00:00.0000000",
        "StreamId": null

Is there some configuration on the hub-side that I'm missing, to instruct the DeviceClient to set this property, prior to sending it to the IoTHub?

I am specifically not using the EventEnqueuedUtcTime/EventProcessedUtcTime, because I'd like to set the timestamp of my stream job, to the time of the actual event on the Pi.

I'm using a UWP app running on Windows IoT Core, on a Raspberry Pi.

Thanks

-John


Solution

  • Yes, EnqueuedTime looks like staying the same. And it is a system property that you can't modify. Maybe you can open an issue on GitHub.

    Or, you can try to utilize application properties, define and add your own properties of the time of the actual event on the Pi.