I have a standalone WPF desktop application which gathers data from Digital-to-Analog converter boards, computes, analyzes this data and then it creates binary files (proprietary format) with the result. There is a pace of one record (basically a dictionary with the resulted data) added each second in the final storage file.
Further, this real-time data must be available to a web application (which displays real-time graphs) hosted in Azure cloud. So, maybe obviously, an Azure Blob storage will be used where final storage files will be stored.
The ideal scenario is to update, as soon as possible, the web application with the new record computed on a machine where the standalone app is running. This means that the standalone app must upload a single record of data at once and not an entire file each second. The web app must be able to read the new record and not only the entire file. So the blobs which are hosted in the Azure blob storage must be read similar with local streams, using APIs like Stream.Seek(int)
and Stream.ReadBytes(int)
.
Are there any possibilities to accomplish this using a grained control over a blob hosted in an Azure storage account?
If not, what other scenarios can be useful? An ASP Web Api 2 application exists for other purposes so maybe it can be leveraged as an intermediate between the standalone app and the web app. Maybe something as a queue?
Later edit
There are two kind of usage of the computed data. First one is described above, computed data must be viewed real-time on a web application. The second one emphasize the need of binary files and blobs: files are downloaded and edited offline. So is mandatory to have files generated and stored in a blob storage.