У меня есть IoTHub с route, который указывает на EventHub, который запускает функции.Azure IoT Hub, EventHub и функции
У меня возникли проблемы с получением DeviceId и другими свойствами IoT Hub из объекта события, без добавления их явно в полезную нагрузку.
Если установить тип входа в string
(или пользовательского типа):
public static void Run(string iotMessage, TraceWriter log) {
log.Info($"C# Event Hub trigger function processed a message: {iotMessage}");
}
я только получить полезную нагрузку без каких-либо других свойств IoT концентраторов, как DeviceId, CorrelationId или MessageId ,
Я попытался установить тип в EventData
вместо:
public static void Run(EventData iotMessage, TraceWriter log) {
log.Info($"C# Event Hub trigger function processed a message: {JsonConvert.SerializeObject(iotMessage)}");
}
Теперь я могу получить доступ к свойствам IoT концентраторов с помощью двух добытчиков: Свойств и SystemProperties. Например, я могу получить доступ к DeviceId, например, iotMessage.SystemProperties["iothub-connection-device-id"]
. Но он не раскрывает полезную нагрузку.
Как я могу получить доступ как к свойствам IoT Hub, так и к полезной нагрузке?
Вы должны отправить свой ответ на исходный вопрос (который вы отмечаете как ОБНОВЛЕНИЕ) в качестве реального ответа. Это нормально, отвечая на его собственные вопросы. Таким образом, будет легче быстро получить ответ на проблему. (Спасибо, в любом случае) –