Azure Data Explorer API Overview

The Azure Data Explorer service supports the following communication endpoints:

  1. A REST API endpoint, through which you can query and manage the data in Azure Data Explorer. This endpoint supports the Kusto Query Language for queries and control commands.
  2. An MS-TDS endpoint that implements a subset of the Microsoft Tabular Data Stream (TDS) protocol, used by the Microsoft SQL Server products. This endpoint is useful for tools that know how to communicate with a SQL Server endpoint for queries.
  3. An Azure Resource Manager (ARM) endpoint that is the standard means for Azure services. The endpoint is used to manage resources, such as Azure Data Explorer clusters.

REST API

The primary means of communicating with any Azure Data Explorer service, is by using the service's REST API. With this fully documented endpoint, callers can:

  • Query data
  • Query and modify metadata
  • Ingest data
  • Query the service health status
  • Manage resources

The different Azure Data Explorer services communicate among themselves, via the same publicly available REST API.

A number of client libraries are also available to use the service, without dealing with the REST API protocol.

MS-TDS

Azure Data Explorer also supports the Microsoft SQL Server communication protocol (MS-TDS), and includes a limited support for running T-SQL queries. This protocol enables users to run queries on Azure Data Explorer using a well-known query syntax (T-SQL) and database client tools such as LINQPad, sqlcmd, Tableau, Excel, and Power BI.

For more information, see MS-TDS.

Client libraries

Azure Data Explorer provides a number of client libraries that make use of the above endpoints, to make programmatic access easy.

  • .NET SDK
  • Python SDK
  • R
  • Java SDK
  • Node SDK
  • Go SDK
  • PowerShell

.NET Framework Libraries

.NET Framework Libraries are the recommended way to invoke Azure Data Explorer functionality programmatically. A number of different libraries are available.

The above libraries use Azure APIs, such as Azure Storage API and Azure Active Directory API.

Python Libraries

Azure Data Explorer provides a Python client library that permits callers to send data queries and control commands. For more information, see Azure Data Explorer Python SDK.

R Library

Azure Data Explorer provides an R client library that permits callers to send data queries and control commands. For more information, see Azure Data Explorer R SDK.

Java SDK

The Java client library provides the capability to query Azure Data Explorer clusters using Java. For more information, see Azure Data Explorer Java SDK.

Node SDK

Azure Data Explorer Node SDK is compatible with Node LTS (currently v6.14) and built with ES6. For more information, see Azure Data Explorer Node SDK.

Go SDK

Azure Data Explorer Go Client library provides the capability to query, control and ingest into Azure Data Explorer clusters using Go. For more information, see Azure Data Explorer Golang SDK.

PowerShell

Azure Data Explorer .NET Framework Libraries can be used by PowerShell scripts. For more information, see Calling Azure Data Explorer from PowerShell.

Monaco IDE integration

The monaco-kusto package supports integration with the Monaco web editor. The Monaco Editor, developed by Microsoft, is the basis for Visual Studio Code. For more information, see monaco-kusto package.