What if we have copy files of persistent storage (blobs) for a given Kusto database and want to be able to access these outside Kusto? Is there any way or API available for reading these files? It appears that these are binary files in Kusto's proprietary format so can't just be read without some sort of API/bridge available from Kusto.
4 Answers
If you want to access Kusto data from a non-Kusto environment, you need to move the data out of Kusto into SQL or blob storage using the .export command.
https://docs.microsoft.com/en-us/azure/kusto/management/data-export/
There is an API for accessing Kusto data through Kusto: https://docs.microsoft.com/en-us/azure/data-explorer/kusto/api/.
You really don't want to access the blobs directly as they are stored in a heavily compressed and indexed column store format. You would have to replicate most of the Kusto database engine to do so. To do it right, you would effectively end up building another node on your Kusto cluster locally, and it's not clear that you would gain anything from that. For example, you'd be further from the data, so your queries would be slower. Better to just ask your Kusto cluster to do the work and send the results.
If you need to access the data using another platform you can .Export it.
If you really need to access the data directly, and are willing to sacrifice some performance, then your best bet is probably to store the data outside Kusto and map it as an External Table or use one of the SQL plugins to query the data in it's native format.