{ "TimeValue":datetime, "SensorId": int, “MainValue” : double } TimeValue – время создания события, SensorId – идентификатор устройства, сгенерировавшего событие, MainValue – показание сенсора. Генератор событий реализован на языке C#. Метод генерирующий события приведен ниже. //подключение к концентратору событий var eventHubClient = EventHubClient.Create("smarthome-eventhub"); Random rnd = new Random(); //создаем 99 параллельно работающих генераторов Parallel.For(1, 100, async (id) => { int count = 1; //каждый генератор имеет свой базовый уровень показаний int mbase = rnd.Next(20, 50); //генерируем бесконечное (пока не остановим) количество событий while (true) { int p = 5; //псевдовероятность появления шума в данных ~25% if ((rnd.Next()%2 == 0) && (rnd.Next()%2 == 0)) { p = 20; } Console.WriteLine("Sending event nr {0} for device {1}", count, id); //заполнение события var reading = new SmartHomeEvent { sensorId = id, mainValue = mbase + p * rnd.NextDouble(), timeValue = DateTime.Now }; EventData msg = new EventData(Encoding.UTF8.GetBytes(reading.ToJson())); //отправка события с ожиданием выполнения await eventHubClient.SendAsync(msg);