Hello @Athira Gopinath(UST,IN), the IoT Hub supports routing messages to several kinds of endpoints based on routing rules. These rules can be filtered to filter incoming messages. Because the message body could be anything, it is passed as a byte array, the regular routing ignores the message body. In most cases, Azure resources assume that the body contains a JSON message but that is not the case this time. As @Matthijs van der Veer mentioned already you need to provide some extra content information
using (var message = new Message(messageBytes))
{
// Set message body type and content encoding.
message.ContentEncoding = "utf-8";
message.ContentType = "application/json";
await deviceClient.SendEventAsync(message);
}
This is the case with all IoT Devices SDKs (like C#, Javascript, Python) and even the non-SDK MQTT way of communication. Now, the IoT Hub knows the incoming byte array message can safely be decoded into JSON so the body properties can be read. If the response helped, do "Accept Answer". If it doesn't work, please let us know the progress. All community members with similar issues will benefit by doing so. Your contribution is highly appreciated.