Either integrated with Microsoft 365 or as a standalone solution, Microsoft Search is a secure, easily managed, enterprise search experience that works across all of your applications and services to deliver more relevant search results and increase productivity. Microsoft Search meets you wherever you are. Microsoft allows you to control your account your way with customizable privacy settings. Manage your Xbox, Windows, and other privacy settings on this page.
-->By Scott Addie
The HTTP Read-Eval-Print Loop (REPL) is:
- A lightweight, cross-platform command-line tool that's supported everywhere .NET Core is supported.
- Used for making HTTP requests to test ASP.NET Core web APIs (and non-ASP.NET Core web APIs) and view their results.
- Capable of testing web APIs hosted in any environment, including localhost and Azure App Service.
The following HTTP verbs are supported:
To follow along, view or download the sample ASP.NET Core web API (how to download).
Prerequisites
Installation
To install the HttpRepl, run the following command:
A .NET Core Global Tool is installed from the Microsoft.dotnet-httprepl NuGet package.
Usage
After successful installation of the tool, run the following command to start the HttpRepl:
To view the available HttpRepl commands, run one of the following commands:
The following output is displayed:
The HttpRepl offers command completion. Pressing the Tab key iterates through the list of commands that complete the characters or API endpoint that you typed. The following sections outline the available CLI commands.
Connect to the web API
Connect to a web API by running the following command: Skyrim steam code.
is the base URI for the web API. For example:
Alternatively, run the following command at any time while the HttpRepl is running:
For example:
Manually point to the OpenAPI description for the web API
The connect command above will attempt to find the OpenAPI description automatically. If for some reason it's unable to do so, you can specify the URI of the OpenAPI description for the web API by using the --openapi
option:
For example:
Enable verbose output for details on OpenAPI description searching, parsing, and validation
Specifying the --verbose
option with the connect
command will produce more details when the tool searches for the OpenAPI description, parses, and validates it.
For example:
Navigate the web API
View available endpoints
To list the different endpoints (controllers) at the current path of the web API address, run the ls
or dir
command:
The following output format is displayed:
The preceding output indicates that there are two controllers available: Fruits
and People
. Both controllers support parameterless HTTP GET and POST operations.
Navigating into a specific controller reveals more detail. For example, the following command's output shows the Fruits
controller also supports HTTP GET, PUT, and DELETE operations. Each of these operations expects an id
parameter in the route:
Alternatively, run the ui
command to open the web API's Swagger UI page in a browser. For example:
Navigate to an endpoint
To navigate to a different endpoint on the web API, run the cd
command:
The path following the cd
command is case insensitive. The following output format is displayed:
Customize the HttpRepl
The HttpRepl's default colors can be customized. Additionally, a default text editor can be defined. The HttpRepl preferences are persisted across the current session and are honored in future sessions. Once modified, the preferences are stored in the following file:
%HOME%/.httpreplprefs
%HOME%/.httpreplprefs
%USERPROFILE%.httpreplprefs
The .httpreplprefs file is loaded on startup and not monitored for changes at runtime. Manual modifications to the file take effect only after restarting the tool.
View the settings
To view the available settings, run the pref get
command. For example:
The preceding command displays the available key-value pairs:
Set color preferences
Response colorization is currently supported for JSON only. To customize the default HttpRepl tool coloring, locate the key corresponding to the color to be changed. For instructions on how to find the keys, see the View the settings section. For example, change the colors.json
key value from Green
to White
as follows:
Only the allowed colors may be used. Subsequent HTTP requests display output with the new coloring.
When specific color keys aren't set, more generic keys are considered. To demonstrate this fallback behavior, consider the following example:
- If
colors.json.name
doesn't have a value,colors.json.string
is used. - If
colors.json.string
doesn't have a value,colors.json.literal
is used. - If
colors.json.literal
doesn't have a value,colors.json
is used. - If
colors.json
doesn't have a value, the command shell's default text color (AllowedColors.None
) is used.
Set indentation size
Response indentation size customization is currently supported for JSON only. The default size is two spaces. For example:
To change the default size, set the formatting.json.indentSize
key. For example, to always use four spaces:
Subsequent responses honor the setting of four spaces:
Set the default text editor
By default, the HttpRepl has no text editor configured for use. To test web API methods requiring an HTTP request body, a default text editor must be set. The HttpRepl tool launches the configured text editor for the sole purpose of composing the request body. Run the following command to set your preferred text editor as the default:
In the preceding command, is the full path to the text editor's executable file. For example, run the following command to set Visual Studio Code as the default text editor:
To launch the default text editor with specific CLI arguments, set the editor.command.default.arguments
key. For example, assume Visual Studio Code is the default text editor and that you always want the HttpRepl to open Visual Studio Code in a new session with extensions disabled. Run the following command:
Tip
If your default editor is Visual Studio Code, you'll usually want to pass the -w
or --wait
argument to force Visual Studio Code to wait for you to close the file before returning.
Set the OpenAPI Description search paths
By default, the HttpRepl has a set of relative paths that it uses to find the OpenAPI description when executing the connect
command without the --openapi
option. These relative paths are combined with the root and base paths specified in the connect
command. The default relative paths are:
- swagger.json
- swagger/v1/swagger.json
- /swagger.json
- /swagger/v1/swagger.json
- openapi.json
- /openapi.json
To use a different set of search paths in your environment, set the swagger.searchPaths
preference. The value must be a pipe-delimited list of relative paths. For example:
Instead of replacing the default list altogether, the list can also be modified by adding or removing paths.
To add one or more search paths to the default list, set the swagger.addToSearchPaths
preference. The value must be a pipe-delimited list of relative paths. For example:
To remove one or more search paths from the default list, set the swagger.addToSearchPaths
preference. The value must be a pipe-delimited list of relative paths. For example:
Test HTTP GET requests
Synopsis
Arguments
PARAMETER
The route parameter, if any, expected by the associated controller action method.
Options
The following options are available for the get
command:
-F|--no-formatting
A flag whose presence suppresses HTTP response formatting.
-h|--header
Sets an HTTP request header. The following two value formats are supported:
{header}={value}
{header}:{value}
--response:body
Specifies a file to which the HTTP response body should be written. For example,
--response:body 'C:response.json'
. The file is created if it doesn't exist.--response:headers
Specifies a file to which the HTTP response headers should be written. For example,
--response:headers 'C:response.txt'
. The file is created if it doesn't exist.-s|--streaming
A flag whose presence enables streaming of the HTTP response.
Example
To issue an HTTP GET request:
Run the
get
command on an endpoint that supports it:The preceding command displays the following output format:
Retrieve a specific record by passing a parameter to the
get
command:The preceding command displays the following output format:
Test HTTP POST requests
Synopsis
Arguments
PARAMETER
The route parameter, if any, expected by the associated controller action method.
Options
Starcraft release day.
-F|--no-formatting
A flag whose presence suppresses HTTP response formatting.
-h|--header
Sets an HTTP request header. The following two value formats are supported:
{header}={value}
{header}:{value}
--response:body
Specifies a file to which the HTTP response body should be written. For example,
--response:body 'C:response.json'
. The file is created if it doesn't exist.--response:headers
Specifies a file to which the HTTP response headers should be written. For example,
--response:headers 'C:response.txt'
. The file is created if it doesn't exist.-s|--streaming
A flag whose presence enables streaming of the HTTP response.
-c|--content
Provides an inline HTTP request body. For example,
-c '{'id':2,'name':'Cherry'}'
.-f|--file
Provides a path to a file containing the HTTP request body. For example,
-f 'C:request.json'
.--no-body
Indicates that no HTTP request body is needed.
Example
To issue an HTTP POST request:
Run the
post
command on an endpoint that supports it:In the preceding command, the
Content-Type
HTTP request header is set to indicate a request body media type of JSON. The default text editor opens a .tmp file with a JSON template representing the HTTP request body. For example:Tip
To set the default text editor, see the Set the default text editor section.
Ms excel introduction. Modify the JSON template to satisfy model validation requirements:
Save the .tmp file, and close the text editor. The following output appears in the command shell:
Test HTTP PUT requests
Synopsis
Arguments
PARAMETER
The route parameter, if any, expected by the associated controller action method.
Options
-F|--no-formatting
A flag whose presence suppresses HTTP response formatting.
-h|--header
Sets an HTTP request header. The following two value formats are supported:
{header}={value}
{header}:{value}
--response:body
Specifies a file to which the HTTP response body should be written. For example,
--response:body 'C:response.json'
. The file is created if it doesn't exist.--response:headers
Specifies a file to which the HTTP response headers should be written. For example,
--response:headers 'C:response.txt'
. The file is created if it doesn't exist.-s|--streaming
A flag whose presence enables streaming of the HTTP response.
-c|--content
Provides an inline HTTP request body. For example,
-c '{'id':2,'name':'Cherry'}'
.-f|--file
Provides a path to a file containing the HTTP request body. For example,
-f 'C:request.json'
.--no-body
Indicates that no HTTP request body is needed.
Example
To issue an HTTP PUT request:
Optional: Run the
get
command to view the data before modifying it:Run the
put
command on an endpoint that supports it:In the preceding command, the
Content-Type
HTTP request header is set to indicate a request body media type of JSON. The default text editor opens a .tmp file with a JSON template representing the HTTP request body. For example:Tip
To set the default text editor, see the Set the default text editor section.
Modify the JSON template to satisfy model validation requirements:
Save the .tmp file, and close the text editor. The following output appears in the command shell:
Optional: Issue a
get
command to see the modifications. For example, if you typed 'Cherry' in the text editor, aget
returns the following output:
Test HTTP DELETE requests
Synopsis
Arguments
PARAMETER
The route parameter, if any, expected by the associated controller action method.
Options
-F|--no-formatting
A flag whose presence suppresses HTTP response formatting.
-h|--header
Sets an HTTP request header. The following two value formats are supported:
{header}={value}
{header}:{value}
--response:body
Specifies a file to which the HTTP response body should be written. For example,
--response:body 'C:response.json'
. The file is created if it doesn't exist.--response:headers
Specifies a file to which the HTTP response headers should be written. For example,
--response:headers 'C:response.txt'
. The file is created if it doesn't exist.-s|--streaming
A flag whose presence enables streaming of the HTTP response.
Example
To issue an HTTP DELETE request:
Optional: Run the
get
command to view the data before modifying it:Run the
delete
command on an endpoint that supports it:The preceding command displays the following output format:
Optional: Issue a
get
command to see the modifications. In this example, aget
returns the following output:
Test HTTP PATCH requests
Synopsis
Arguments
PARAMETER
The route parameter, if any, expected by the associated controller action method.
Options
-F|--no-formatting
A flag whose presence suppresses HTTP response formatting.
-h|--header
Sets an HTTP request header. The following two value formats are supported:
{header}={value}
{header}:{value}
--response:body
Specifies a file to which the HTTP response body should be written. For example,
--response:body 'C:response.json'
. The file is created if it doesn't exist.--response:headers
Specifies a file to which the HTTP response headers should be written. For example,
--response:headers 'C:response.txt'
. The file is created if it doesn't exist.-s|--streaming
A flag whose presence enables streaming of the HTTP response.
-c|--content
Provides an inline HTTP request body. For example,
-c '{'id':2,'name':'Cherry'}'
.-f|--file
Provides a path to a file containing the HTTP request body. For example,
-f 'C:request.json'
.--no-body
Indicates that no HTTP request body is needed.
Test HTTP HEAD requests
Synopsis
Arguments
PARAMETER
The route parameter, if any, expected by the associated controller action method.
Options
-F|--no-formatting
A flag whose presence suppresses HTTP response formatting.
-h|--header
Sets an HTTP request header. The following two value formats are supported:
{header}={value}
{header}:{value}
--response:body
Specifies a file to which the HTTP response body should be written. For example,
--response:body 'C:response.json'
. The file is created if it doesn't exist.--response:headers
Specifies a file to which the HTTP response headers should be written. For example,
--response:headers 'C:response.txt'
. The file is created if it doesn't exist.-s|--streaming
A flag whose presence enables streaming of the HTTP response.
Test HTTP OPTIONS requests
Synopsis
Arguments
PARAMETER
The route parameter, if any, expected by the associated controller action method.
Options
-F|--no-formatting
A flag whose presence suppresses HTTP response formatting.
-h|--header
Sets an HTTP request header. The following two value formats are supported:
{header}={value}
{header}:{value}
--response:body
Specifies a file to which the HTTP response body should be written. For example,
--response:body 'C:response.json'
. The file is created if it doesn't exist.--response:headers
Specifies a file to which the HTTP response headers should be written. For example,
--response:headers 'C:response.txt'
. The file is created if it doesn't exist.-s|--streaming
A flag whose presence enables streaming of the HTTP response.
Set HTTP request headers
To set an HTTP request header, use one of the following approaches:
Set inline with the HTTP request. For example:
With the preceding approach, each distinct HTTP request header requires its own
-h
option.Set before sending the HTTP request. For example:
When setting the header before sending a request, the header remains set for the duration of the command shell session. To clear the header, provide an empty value. For example:
Test secured endpoints
The HttpRepl supports the testing of secured endpoints in the following ways:
- Via the default credentials of the logged in user.
- Through the use of HTTP request headers.
Default credentials
Consider a web API you're testing that's hosted in IIS and secured with Windows authentication. You want the credentials of the user running the tool to flow across to the HTTP endpoints being tested. To pass the default credentials of the logged in user:
Set the
httpClient.useDefaultCredentials
preference totrue
:Exit and restart the tool before sending another request to the web API.
Default proxy credentials
Consider a scenario in which the web API you're testing is behind a proxy secured with Windows authentication. You want the credentials of the user running the tool to flow to the proxy. To pass the default credentials of the logged in user:
Set the
httpClient.proxy.useDefaultCredentials
preference totrue
:Exit and restart the tool before sending another request to the web API.
HTTP request headers
Examples of supported authentication and authorization schemes include:
- basic authentication
- JWT bearer tokens
- digest authentication
For example, you can send a bearer token to an endpoint with the following command:
To access an Azure-hosted endpoint or to use the Azure REST API, you need a bearer token. Use the following steps to obtain a bearer token for your Azure subscription via the Azure CLI. The HttpRepl sets the bearer token in an HTTP request header. A list of Azure App Service Web Apps is retrieved.
Sign in to Azure:
Get your subscription ID with the following command:
Copy your subscription ID and run the following command:
Get your bearer token with the following command:
Connect to the Azure REST API via the HttpRepl:
Set the
Authorization
HTTP request header:Navigate to the subscription:
Get a list of your subscription's Azure App Service Web Apps:
The following response is displayed:
Toggle HTTP request display
By default, display of the HTTP request being sent is suppressed. It's possible to change the corresponding setting for the duration of the command shell session.
Enable request display
View the HTTP request being sent by running the echo on
command. For example:
Subsequent HTTP requests in the current session display the request headers. For example:
Disable request display
Suppress display of the HTTP request being sent by running the echo off
command. For example:
Run a script
If you frequently execute the same set of HttpRepl commands, consider storing them in a text file. Commands in the file take the same form as commands executed manually on the command line. The commands can be executed in a batched fashion using the run
command. For example:
Create a text file containing a set of newline-delimited commands. To illustrate, consider a people-script.txt file containing the following commands:
Execute the
run
command, passing in the text file's path. For example:The following output appears:
Clear the output
To remove all output written to the command shell by the HttpRepl tool, run the clear
or cls
command. To illustrate, imagine the command shell contains the following output:
Run the following command to clear the output:
After running the preceding command, the command shell contains only the following output:
Additional resources
-->Kusto.Explorer is a rich desktop application that enables you to explore your data using the Kusto Query Language in an easy-to-use user interface. This overview explains how to get started with setting up your Kusto.Explorer and explains the user interface you will use.
With Kusto.Explorer, you can:
- Query your data.
- Search your data across tables.
- Visualize your data in a wide variety of graphs.
- Share queries and results by email or using deep links.
Installing Kusto.Explorer
Download and install the Kusto.Explorer tool from:
- https://aka.ms/ke (CDN location)
- https://aka.ms/ke-mirror (Non-CDN location)
Instead, access your Kusto cluster with your browser at:
https://..kusto.windows.net.
Replace and with your Azure Data Explorer cluster name and deployment region.
Using Chrome and Kusto.Explorer
If you use Chrome as your default browser, make sure to install the ClickOnce extension for Chrome:
Overview of the user interface
The Kusto.Explorer user interface is designed with a layout based on tabs and panels, similar to that of other Microsoft products:
- Navigate through the tabs on the menu panel to perform various operations
- Manage your connections in the connections panel
- Create scripts to run in the script panel
- View the results of the scripts in the results panel
Menu panel
Kusto.Explorer Menu panel includes the following tabs:
Home tab
The Home tab shows the most recently used functions, divided into sections:
Query section
Menu | Behavior |
---|---|
Mode dropdown |
|
New Tab | Opens a new tab for querying Kusto |
Share section
-F|--no-formatting
A flag whose presence suppresses HTTP response formatting.
-h|--header
Sets an HTTP request header. The following two value formats are supported:
{header}={value}
{header}:{value}
--response:body
Specifies a file to which the HTTP response body should be written. For example,
--response:body 'C:response.json'
. The file is created if it doesn't exist.--response:headers
Specifies a file to which the HTTP response headers should be written. For example,
--response:headers 'C:response.txt'
. The file is created if it doesn't exist.-s|--streaming
A flag whose presence enables streaming of the HTTP response.
Example
To issue an HTTP DELETE request:
Optional: Run the
get
command to view the data before modifying it:Run the
delete
command on an endpoint that supports it:The preceding command displays the following output format:
Optional: Issue a
get
command to see the modifications. In this example, aget
returns the following output:
Test HTTP PATCH requests
Synopsis
Arguments
PARAMETER
The route parameter, if any, expected by the associated controller action method.
Options
-F|--no-formatting
A flag whose presence suppresses HTTP response formatting.
-h|--header
Sets an HTTP request header. The following two value formats are supported:
{header}={value}
{header}:{value}
--response:body
Specifies a file to which the HTTP response body should be written. For example,
--response:body 'C:response.json'
. The file is created if it doesn't exist.--response:headers
Specifies a file to which the HTTP response headers should be written. For example,
--response:headers 'C:response.txt'
. The file is created if it doesn't exist.-s|--streaming
A flag whose presence enables streaming of the HTTP response.
-c|--content
Provides an inline HTTP request body. For example,
-c '{'id':2,'name':'Cherry'}'
.-f|--file
Provides a path to a file containing the HTTP request body. For example,
-f 'C:request.json'
.--no-body
Indicates that no HTTP request body is needed.
Test HTTP HEAD requests
Synopsis
Arguments
PARAMETER
The route parameter, if any, expected by the associated controller action method.
Options
-F|--no-formatting
A flag whose presence suppresses HTTP response formatting.
-h|--header
Sets an HTTP request header. The following two value formats are supported:
{header}={value}
{header}:{value}
--response:body
Specifies a file to which the HTTP response body should be written. For example,
--response:body 'C:response.json'
. The file is created if it doesn't exist.--response:headers
Specifies a file to which the HTTP response headers should be written. For example,
--response:headers 'C:response.txt'
. The file is created if it doesn't exist.-s|--streaming
A flag whose presence enables streaming of the HTTP response.
Test HTTP OPTIONS requests
Synopsis
Arguments
PARAMETER
The route parameter, if any, expected by the associated controller action method.
Options
-F|--no-formatting
A flag whose presence suppresses HTTP response formatting.
-h|--header
Sets an HTTP request header. The following two value formats are supported:
{header}={value}
{header}:{value}
--response:body
Specifies a file to which the HTTP response body should be written. For example,
--response:body 'C:response.json'
. The file is created if it doesn't exist.--response:headers
Specifies a file to which the HTTP response headers should be written. For example,
--response:headers 'C:response.txt'
. The file is created if it doesn't exist.-s|--streaming
A flag whose presence enables streaming of the HTTP response.
Set HTTP request headers
To set an HTTP request header, use one of the following approaches:
Set inline with the HTTP request. For example:
With the preceding approach, each distinct HTTP request header requires its own
-h
option.Set before sending the HTTP request. For example:
When setting the header before sending a request, the header remains set for the duration of the command shell session. To clear the header, provide an empty value. For example:
Test secured endpoints
The HttpRepl supports the testing of secured endpoints in the following ways:
- Via the default credentials of the logged in user.
- Through the use of HTTP request headers.
Default credentials
Consider a web API you're testing that's hosted in IIS and secured with Windows authentication. You want the credentials of the user running the tool to flow across to the HTTP endpoints being tested. To pass the default credentials of the logged in user:
Set the
httpClient.useDefaultCredentials
preference totrue
:Exit and restart the tool before sending another request to the web API.
Default proxy credentials
Consider a scenario in which the web API you're testing is behind a proxy secured with Windows authentication. You want the credentials of the user running the tool to flow to the proxy. To pass the default credentials of the logged in user:
Set the
httpClient.proxy.useDefaultCredentials
preference totrue
:Exit and restart the tool before sending another request to the web API.
HTTP request headers
Examples of supported authentication and authorization schemes include:
- basic authentication
- JWT bearer tokens
- digest authentication
For example, you can send a bearer token to an endpoint with the following command:
To access an Azure-hosted endpoint or to use the Azure REST API, you need a bearer token. Use the following steps to obtain a bearer token for your Azure subscription via the Azure CLI. The HttpRepl sets the bearer token in an HTTP request header. A list of Azure App Service Web Apps is retrieved.
Sign in to Azure:
Get your subscription ID with the following command:
Copy your subscription ID and run the following command:
Get your bearer token with the following command:
Connect to the Azure REST API via the HttpRepl:
Set the
Authorization
HTTP request header:Navigate to the subscription:
Get a list of your subscription's Azure App Service Web Apps:
The following response is displayed:
Toggle HTTP request display
By default, display of the HTTP request being sent is suppressed. It's possible to change the corresponding setting for the duration of the command shell session.
Enable request display
View the HTTP request being sent by running the echo on
command. For example:
Subsequent HTTP requests in the current session display the request headers. For example:
Disable request display
Suppress display of the HTTP request being sent by running the echo off
command. For example:
Run a script
If you frequently execute the same set of HttpRepl commands, consider storing them in a text file. Commands in the file take the same form as commands executed manually on the command line. The commands can be executed in a batched fashion using the run
command. For example:
Create a text file containing a set of newline-delimited commands. To illustrate, consider a people-script.txt file containing the following commands:
Execute the
run
command, passing in the text file's path. For example:The following output appears:
Clear the output
To remove all output written to the command shell by the HttpRepl tool, run the clear
or cls
command. To illustrate, imagine the command shell contains the following output:
Run the following command to clear the output:
After running the preceding command, the command shell contains only the following output:
Additional resources
-->Kusto.Explorer is a rich desktop application that enables you to explore your data using the Kusto Query Language in an easy-to-use user interface. This overview explains how to get started with setting up your Kusto.Explorer and explains the user interface you will use.
With Kusto.Explorer, you can:
- Query your data.
- Search your data across tables.
- Visualize your data in a wide variety of graphs.
- Share queries and results by email or using deep links.
Installing Kusto.Explorer
Download and install the Kusto.Explorer tool from:
- https://aka.ms/ke (CDN location)
- https://aka.ms/ke-mirror (Non-CDN location)
Instead, access your Kusto cluster with your browser at:
https://..kusto.windows.net.
Replace and with your Azure Data Explorer cluster name and deployment region.
Using Chrome and Kusto.Explorer
If you use Chrome as your default browser, make sure to install the ClickOnce extension for Chrome:
Overview of the user interface
The Kusto.Explorer user interface is designed with a layout based on tabs and panels, similar to that of other Microsoft products:
- Navigate through the tabs on the menu panel to perform various operations
- Manage your connections in the connections panel
- Create scripts to run in the script panel
- View the results of the scripts in the results panel
Menu panel
Kusto.Explorer Menu panel includes the following tabs:
Home tab
The Home tab shows the most recently used functions, divided into sections:
Query section
Menu | Behavior |
---|---|
Mode dropdown |
|
New Tab | Opens a new tab for querying Kusto |
Share section
Menu | Behavior |
---|---|
Data To Clipboard | Exports Query and data set to a clipboard. If a chart is presented, it exports the chart as bitmap |
Result To Clipboard | Exports the data set to a clipboard. If a chart is presented, it exports the chart as bitmap |
Query to Clipboard | Exports the Query to a clipboard |
Visualizations section
Menu | Behavior |
---|---|
Area chart | Displays an area chart in which the X-axis is the first column (must be numeric). All numeric columns are mapped to different series (Y-axis) |
Column Chart | Displays a column chart where all numeric columns are mapped to different series (Y-axis). The text column before numeric is the X-axis (can be controlled in the UI) |
Bar Chart | Displays a bar chart where all numeric columns are mapped to different series (X-axis). The text column before numeric is the Y-axis (can be controlled in the UI) |
Stacked Area chart | Displays a stacked area chart in which the X-axis is the first column (must be numeric). All numeric columns are mapped to different series (Y-axis) |
Timeline Chart | Displays a time chart in which the X-axis is the first column (must be datetime). All numeric columns are mapped to different series (Y-axis). |
Line Chart | Displays a line chart in which the X-axis is the first column (must be numeric). All numeric columns are mapped to different series (Y-axis). |
Anomaly Chart | Similar to timechart, but finds anomalies in time series data, using the machine learning anomalies algorithm. For anomaly detection, Kusto.Explorer uses the series_decompose_anomalies function. |
Pie Chart | Displays a pie chart in which the color-axis is the first column. The theta-axis (must be a measure, converted to percent) is the second column. |
Time Ladder | Displays a ladder chart in which the X-axis is the last two columns (must be datetime). The Y-axis is a composite of the other columns. |
Scatter Chart | Displays a point graph in which the X-axis is the first column (must be numeric). All numeric columns are mapped to different series (Y-axis). |
Pivot Chart | Displays a pivot table and pivot chart that gives the full flexibility of selecting data, columns, rows, and various chart types. |
Time Pivot | Interactive navigation over the events time-line (pivoting on time axis) |
Note
Anomaly Chart:The algorithm expects timeseries data, which consists of two columns:
- Time in fixed interval buckets
- Numeric value for anomaly detectionTo produce timeseries data in Kusto.Explorer, summarize by the time field and specify the time bucket bin.
View section
Menu | Behavior |
---|---|
Full View Mode | Maximizes the work space by hiding the ribbon menu and Connection Panel. Exit Full View Mode by selecting Home > Full View Mode, or by pressing F11. |
Hide Empty Columns | Removes empty columns from the data grid |
Collapse Singular Columns | Collapses columns with singular values |
Explore Column Values | Shows column values distribution |
Increase Font | Increases the font size of the query tab and of the results data grid |
Decrease Font | Decreases the font size of the query tab and of the results data grid |
Note
Data View Settings:
Kusto.Explorer keeps track of what settings are used per unique set of columns. When columns are reordered or removed, the data view is saved and will be reused whenever the data with the same columns is retrieved. To reset the view to its defaults, in the View tab, select Reset View.
File tab
Menu | Behavior |
---|---|
---------Query Script--------- | |
New Tab | Opens a new tab window for querying Kusto |
Open File | Loads data from a *.kql file to the active script panel |
Save To File | Saves the content of the active script panel to *.kql file |
Close Tab | Closes the current tab window |
---------Save Data--------- | |
Data To CSV | Exports data to a CSV (comma-separated-values) file |
Data To JSON | Exports data to a JSON formatted file |
Data To Excel | Exports data to an XLSX (Excel) file |
Data To Text | Exports data to a TXT (text) file |
Data To KQL Script | Exports Query to a script file |
Data To Results | Exports Query and data to a Results (QRES) file |
Run Query Into CSV | Runs a query and saves the results to a local CSV file |
---------Load Data--------- | |
From Results | Loads Query and data from a Results (QRES) file |
---------Clipboard--------- | |
Query and Results To Clipboard | Exports Query and data set to a clipboard. If a chart is presented, it exports the chart as a bitmap |
Result To Clipboard | Exports data set to a clipboard. If a chart is presented, it exports the chart as a bitmap |
Query to Clipboard | Exports the Query to a clipboard |
---------Results--------- | |
Clear results cache | Clears cached results of previously executed queries |
Connections tab
Menu | Behavior |
---|---|
---------Groups--------- | |
Add Group | Adds a new Kusto Server group |
Rename Group | Renames the existing Kusto Server group |
Remove Group | Removes the existing Kusto Server group |
---------Clusters--------- | |
Import Connections | Imports connections from a file specifying connections |
Export Connections | Exports connections to a file |
Add Connection | Adds a new Kusto Server connection |
Edit Connection | Opens a dialog for Kusto Server connection properties editing |
Remove Connection | Removes the existing connection to Kusto Server |
Refresh | Refreshes properties of a Kusto server connection |
---------Security--------- | |
Inspect Your ADD Principal | Shows currents active user details |
Sign-out From AAD | Signs-out the current user from the connection to AAD |
---------Data Scope--------- | |
Caching scope |
|
DateTime Column | Name of column which may be used for time pre-filter |
Time Filter | Value of time pre-filter |
View tab
Menu | Behavior |
---|---|
---------Appearance--------- | |
Full View Mode | Maximizes the work space by hiding the ribbon menu and Connection Panel |
Increase Font | Increases the font size of the query tab and of the results data grid |
Decrease Font | Decreases the font size of the query tab and of the results data grid |
Reset Layout | Resets the layout of the tool's docking controls and windows |
Rename Document Tab | Rename the selected tab |
---------Data View--------- | |
Reset View | Resets data view settings to its defaults |
Explore Column Values | Shows column values distribution |
Focus on Query Statistics | Changes the focus to query statistics instead of query results upon query completion |
Hide Duplicates | Toggles removal of the duplicate rows from the query results |
Hide Empty Columns | Toggles removal of empty columns from the query results |
Collapse Singular Columns | Toggles collapsing columns with singular value |
---------Data Filtering--------- | |
Filter Rows In Search | Toggles the option to show only matching rows in query results search (Ctrl+F) |
---------Visualizations--------- | |
Visualizations | See Visualizations, above. |
Note
Kusto.Explorer keeps track of the settings used per unique set of columns. When columns are reordered or removed, the data view is saved and will be reused whenever the data with the same columns is retrieved. To reset the view to its defaults, in the View tab, select Reset View.
Tools tab
Menu | Behavior |
---|---|
---------IntelliSense--------- | |
Enable IntelliSense | Enables and disables IntelliSense on the Script Panel |
---------Analyze--------- | |
Query Analyzer | Launches the Query Analyzer tool |
Query Checker | Analyzes the current query and outputs a set of applicable improvement recommendations |
Calculator | Launches the calculator |
---------Analytics--------- | |
Analytical Reports | Opens a dashboard with multiple pre-built reports for data analysis |
---------Translate--------- | |
Query to Power BI | Translates a query to a format suitable for using in Power BI |
---------Options--------- | |
Reset Options | Sets application settings to default values |
Options | Opens a tool for configuring application settings. Learn more about Kusto.Explorer options. |
Monitoring tab
Menu | Behavior |
---|---|
---------Monitor--------- | |
Cluster Diagnostics | Shows a health summary for the Server Group currently selected in Connections Panel |
Latest data: All tables | Shows a summary of the latest data in all tables of the currently selected database |
Latest data: Selected table | Shows in the status bar the latest data in the selected table |
Management tab
Menu | Behavior |
---|---|
---------Authorized Principals--------- | |
Manage Cluster Authorized Principals | Enables managing a cluster's principals for authorized users |
Manage Database Authorized Principals | Enables managing a database's principals for authorized users |
Manage Table Authorized Principals | Enables managing a table's principals for authorized users |
Manage Function Authorized Principals | Enables managing a function's principals for authorized users |
Help tab
Menu | Behavior |
---|---|
---------Documentation--------- | |
Help | Opens a link to the Kusto online documentation |
What's new | Opens a document that lists all Kusto.Explorer changes |
Report Issue | Opens a dialog with two options:
|
Suggest Feature | Opens a link to the Kusto feedback forum |
Check Updates | Checks if there are updates to your version of Kusto.Explorer |
Connections panel
The Connections pane shows all the configured cluster connections. For each cluster the databases, tables, and attributes (columns)that they store are shown. Select items (which sets an implicit contextfor the search/query in the main panel), or double-click items to copy the name to the search/query panel.
If the actual schema is large (such as a database with hundreds of tables), you can search it by pressing CTRL+F and entering asubstring (case-insensitive) of the entity name you're looking for.
Kusto.Explorer supports controlling the Connection panel from the query window, which is useful for scripts. For example, you can start a script file with a command that instructs Kusto.Explorer to connect to the cluster/database whose data is being queried by the script, by using the following syntax:
Run each line using F5
, or similar.
Control the user identity connecting to Kusto.Explorer
Https Aka Ms Help
The default security model for new connections isAAD-Federated security. Authentication is done through theAzure Active Directory using the default AAD user experience.
If you need finer control over the authentication parameters, you can expand the'Advanced: Connection Strings' edit box and provide a validKusto connection string value.
For example, users with a presence inmultiple AAD tenants sometimes need to use a particular 'projection'of their identities to a specific AAD tenant. Do this byproviding a connection string, such as the one below (replace words IN CAPITALS with specific values):
AAD_TENANT_OF_CLUSTER
is a domain name or AAD tenant ID (a GUID) of the AAD tenant in which the cluster is hosted. This is usually the domain name of the organization that owns the cluster, such ascontoso.com
.- USER_DOMAIN is the identity of the user invited into that tenant (for example,
user@example.com
).
Note
The domain name of the user is not necessarily the same as that of the tenant hosting the cluster.
Keyboard shortcuts
You might find that using keyboard shortcuts enables you to perform operations faster than with the mouse. Take a look at this list of Kusto.Explorer keyboard shortcuts to learn more.
Table row colors
Kusto.Explorer tries to interpret the severity or verbosity level of each row in the results panel and color them accordingly. It does this by matching the distinct values of each column with a set of known patterns ('Warning', 'Error', and so on).
To modify the output color scheme, or turn this behavior off, from the Tools menu, select Options > Results Viewer > Verbosity color scheme.
Excel color scheme legend | Vivid color scheme legend |
---|
Next steps
Learn more about working with Kusto.Explorer:
Https Aka Ms Ap Results
Learn more about Kusto.Explorer tools and utilities: