public async Task Run([EventGridTrigger] JObject eventGridEvent, ILogger log) { var e = eventGridEvent.ToObject <EventGridEvent>(); if (e.EventType != BlobCreated) { log.Log(LogLevel.Information, $"Unsupported event {e.EventType}, skipping."); return; } var blobPath = e.Subject.Replace(ContainerPrefix, string.Empty); if (!blobPath.Contains(_blobPrefix)) { log.Log(LogLevel.Information, $"Blob path {blobPath} doesn't match function configuration, skipping."); return; } var messages = await _storageHelper.ListMessagesAsync(blobPath.Replace(_blobPrefix, string.Empty)); // TODO: group notify all readings var firstMessage = messages.FirstOrDefault(); if (firstMessage != null) { await _appNotifier.NotifyNewReadingAsync(firstMessage.EnqueuedTimeUtc, firstMessage.Body, log); } }