在主事件消息中向IoT Hub添加额外属性时更改消息有效负载 - (使用rest客户端)

时间:2017-08-27 11:28:39

标签: azure azureservicebus azure-eventhub azure-iot-hub

我使用azure sdk和rest client将事件发送到物联网中心。

我必须使用IoT集线器路由功能,所以我在发送到IotHub之前向主有效负载添加了附加属性

案例1:使用Azure SDK发送数据

活动模型

optionConfig

用于将数据发送到IoT Hub的SDK代码     enter image description here

当我在Service Bus explorer中看到此消息时,我看起来像这样

RealTimeMachineData realTimeData = new RealTimeMachineData();
realTimeData.Date = DateTime.UtcNow;          
realTimeData.MachineCode = "M1";

案例2:当我通过调用Rest API

进行同样的操作时
{
  "MachineCode": "M1",
  "Date": "2017-08-27T10:05:22.7063498Z",  
}

当我将消息检查到服务总线资源管理器时,以这种方式发送事件后,它看起来像

enter image description here

我必须在流分析中使用这种方法,因为当通过休息客户端发送时,有效负载会变得不同,因此面临很多问题。

我做错了什么或者在通过Rest客户端发送时我有什么不同吗?

1 个答案:

答案 0 :(得分:0)

以下是修复:

var message1 = new StringContent(JsonConvert.SerializeObject(new RealTimeMachineData() { Date = DateTime.UtcNow, MachineCode = "M1" }));
client.DefaultRequestHeaders.Add("iothub-app-Source", "AiR");
相关问题