public static HttpResponseMessage Run( [HttpTrigger(AuthorizationLevel.Function, "get", "post", Route = null)] TelemetryMessageModel req, [DocumentDB("testdb", "telemetry", ConnectionStringSetting = "CosmosDbConnection")] ICollector <TelemetryMessageModel> documents, ILogger log) { log.LogInformation("C# HTTP trigger function processed a request."); documents.Add(req); return(new HttpResponseMessage(HttpStatusCode.OK)); }
private async void ClientMqttMsgPublishReceived(object sender, MqttMsgPublishEventArgs e) { var jsonToBeSerialized = System.Text.Encoding.Default.GetString(e.Message); TelemetryMessageModel telemetryModelModel = JsonConvert.DeserializeObject <TelemetryMessageModel>(jsonToBeSerialized); try { await DoScopedMeasurementStore(jsonToBeSerialized, telemetryModelModel); } catch (Exception exception) { //Todo: Handle Exception } }
private async Task DoScopedMeasurementStore(string jsonValue, TelemetryMessageModel telemetryModelModel) { using var scope = _scopeFactory.CreateScope(); //var iUpdateDeviceProcessor = scope.ServiceProvider.GetRequiredService<IUpdateDeviceProcessor>(); //await iUpdateDeviceProcessor.StoreMeasurement(telemetryModelModel.deviceid, jsonValue, new DeviceForNotificationModel() //{ // MeasurementValueJson = jsonValue, // DeviceId = telemetryModelModel.deviceid, // CorrelationId = telemetryModelModel.correlationId, // Timestamp = telemetryModelModel.timestamp, // ButtonStatus = telemetryModelModel.buttonStatus, // BatValue = telemetryModelModel.batValue, // TempValue = telemetryModelModel.tempValue, // Rssi = telemetryModelModel.rssi, // Snr = telemetryModelModel.snr, //}); }
public ProcessedTelemetryMessageModel(TelemetryMessageModel originalTelemetry, string originalTelemetryId, string driver) : this(originalTelemetry, originalTelemetryId) { this.Driver = driver; }
public ProcessedTelemetryMessageModel(TelemetryMessageModel originalTelemetry, string originalTelemetryId) { this.Id = originalTelemetry.DeviceId; this.OriginalTelemetry = originalTelemetry; this.OriginalTelemetryId = originalTelemetryId; }