我有一個route IoTHub指向一個觸發函數的EventHub。Azure物聯網集線器,EventHub和函數
我遇到問題,從事件對象獲取DeviceId和其他IoT Hub屬性,而沒有明確將這些屬性添加到有效內容中。
如果我設置了輸入型的string
(或自定義類型):
public static void Run(string iotMessage, TraceWriter log) {
log.Info($"C# Event Hub trigger function processed a message: {iotMessage}");
}
我只得到了有效載荷沒有任何其他物聯網中心的屬性,如DEVICEID,的correlationID或的MessageId 。
我試圖將類型設置爲EventData
代替:屬性和SystemProperties:
public static void Run(EventData iotMessage, TraceWriter log) {
log.Info($"C# Event Hub trigger function processed a message: {JsonConvert.SerializeObject(iotMessage)}");
}
現在我可以通過兩個干將訪問物聯網中心的性能。例如,我可以像這樣訪問DeviceId iotMessage.SystemProperties["iothub-connection-device-id"]
。但它不公開有效載荷。
那麼如何訪問物聯網集線器的屬性和負載?
您應該將您對原始問題(您標記爲UPDATE)的答案張貼爲真實答案。可以回答他自己的問題。這樣,快速得到問題的答案會更容易。 (不管怎麼說,還是要謝謝你) –