public static async void Run([IoTHubTrigger("messages/events", Connection = "IoTConn", ConsumerGroup = "azurefunction")] EventData message, ILogger log)
        {
            log.LogInformation("C# HTTP trigger function processed a request.");

            var    messageString = Encoding.UTF8.GetString(message.Body.Array);
            string messageType   = null;

            JObject jsonObject = JObject.Parse(messageString);

            if (jsonObject.ContainsKey("Type"))
            {
                messageType = (string)jsonObject["Type"];
            }

            if (messageType == "tracker")
            {
                var trackerMessage  = JsonConvert.DeserializeObject <TrackerMessage>(messageString);
                var trackerDocument = TrackerDocument.Create(trackerMessage);

                if (trackerDocument != null)
                {
                    await createDocument <TrackerDocument>(trackerDocument);
                }
            }
            else if (messageType == "balloon")
            {
                var balloonMessage  = JsonConvert.DeserializeObject <BalloonMessage>(messageString);
                var balloonDocument = BalloonDocument.Create(balloonMessage);

                if (balloonDocument != null)
                {
                    await createDocument <BalloonDocument>(balloonDocument);
                }
            }
        }
Beispiel #2
0
        public PredictionDocument Generate(BalloonDocument balloonDocument, ILogger log)
        {
            HabHubMessage habHubMessage = new HabHubMessage();

            habHubMessage.alt   = balloonDocument.Altitude;
            habHubMessage.burst = balloonDocument.BurstAltitude;
            habHubMessage.lat   = balloonDocument.Latitude;
            habHubMessage.lon   = balloonDocument.Longitude;

            habHubMessage.ascent = balloonDocument.AveAscent;

            return(CreateHabHubPrediction(habHubMessage).Result);
        }