Class LogsQueryAsyncClient

java.lang.Object
com.azure.monitor.query.LogsQueryAsyncClient

public final class LogsQueryAsyncClient extends Object
The asynchronous client for querying Azure Monitor logs.

Instantiating an asynchronous Logs query Client

 LogsQueryAsyncClient logsQueryAsyncClient = new LogsQueryClientBuilder()
         .credential(tokenCredential)
         .buildAsyncClient();
 
  • Method Details

    • queryWorkspace

      public Mono<LogsQueryResult> queryWorkspace(String workspaceId, String query, QueryTimeInterval timeInterval)
      Returns all the Azure Monitor logs matching the given query in the specified workspaceId.

      Query logs from the last 24 hours

       Mono<LogsQueryResult> queryResult = logsQueryAsyncClient.queryWorkspace("{workspace-id}", "{kusto-query}",
               QueryTimeInterval.LAST_DAY);
       queryResult.subscribe(result -> {
           for (LogsTableRow row : result.getTable().getRows()) {
               System.out.println(row.getRow()
                       .stream()
                       .map(LogsTableCell::getValueAsString)
                       .collect(Collectors.joining(",")));
           }
       });
       
      Parameters:
      workspaceId - The workspaceId where the query should be executed.
      query - The Kusto query to fetch the logs.
      timeInterval - The time period for which the logs should be looked up.
      Returns:
      The logs matching the query.
    • queryWorkspace

      public <T> Mono<List<T>> queryWorkspace(String workspaceId, String query, QueryTimeInterval timeInterval, Class<T> type)
      Returns all the Azure Monitor logs matching the given query in the specified workspaceId.
      Type Parameters:
      T - The type the result of this query should be mapped to.
      Parameters:
      workspaceId - The workspaceId where the query should be executed.
      query - The Kusto query to fetch the logs.
      timeInterval - The time period for which the logs should be looked up.
      type - The type the result of this query should be mapped to.
      Returns:
      The logs matching the query as a list of objects of type T.
    • queryWorkspace

      public <T> Mono<List<T>> queryWorkspace(String workspaceId, String query, QueryTimeInterval timeInterval, Class<T> type, LogsQueryOptions options)
      Type Parameters:
      T - The type the result of this query should be mapped to.
      Parameters:
      workspaceId - The workspaceId where the query should be executed.
      query - The Kusto query to fetch the logs.
      timeInterval - The time period for which the logs should be looked up.
      type - The type the result of this query should be mapped to.
      options - The log query options to configure server timeout, set additional workspaces or enable statistics and rendering information in response.
      Returns:
      The logs matching the query as a list of objects of type T.
    • queryWorkspaceWithResponse

      public Mono<Response<LogsQueryResult>> queryWorkspaceWithResponse(String workspaceId, String query, QueryTimeInterval timeInterval, LogsQueryOptions options)
      Returns all the Azure Monitor logs matching the given query in the specified workspaceId.

      Query logs from the last 7 days and set the service timeout to 2 minutes

       Mono<Response<LogsQueryResult>> queryResult = logsQueryAsyncClient.queryWorkspaceWithResponse("{workspace-id}",
               "{kusto-query}",
               QueryTimeInterval.LAST_7_DAYS,
               new LogsQueryOptions().setServerTimeout(Duration.ofMinutes(2)));
      
       queryResult.subscribe(result -> {
           for (LogsTableRow row : result.getValue().getTable().getRows()) {
               System.out.println(row.getRow()
                       .stream()
                       .map(LogsTableCell::getValueAsString)
                       .collect(Collectors.joining(",")));
           }
       });
       
      Parameters:
      workspaceId - The workspaceId where the query should be executed.
      query - The Kusto query to fetch the logs.
      timeInterval - The time period for which the logs should be looked up.
      options - The log query options to configure server timeout, set additional workspaces or enable statistics and rendering information in response.
      Returns:
      The logs matching the query.
    • queryWorkspaceWithResponse

      public <T> Mono<Response<List<T>>> queryWorkspaceWithResponse(String workspaceId, String query, QueryTimeInterval timeInterval, Class<T> type, LogsQueryOptions options)
      Returns all the Azure Monitor logs matching the given query in the specified workspaceId.
      Type Parameters:
      T - The type the result of this query should be mapped to.
      Parameters:
      workspaceId - The workspaceId where the query should be executed.
      query - The Kusto query to fetch the logs.
      timeInterval - The time period for which the logs should be looked up.
      type - The type the result of this query should be mapped to.
      options - The log query options to configure server timeout, set additional workspaces or enable statistics and rendering information in response.
      Returns:
      The logs matching the query including the HTTP response.
    • queryBatch

      public Mono<LogsBatchQueryResultCollection> queryBatch(LogsBatchQuery logsBatchQuery)
      Returns all the Azure Monitor logs matching the given batch of queries.

      Execute a batch of logs queries

       LogsBatchQuery batchQuery = new LogsBatchQuery();
       String queryId1 = batchQuery.addWorkspaceQuery("{workspace-id-1}", "{kusto-query-1}", QueryTimeInterval.LAST_DAY);
       String queryId2 = batchQuery.addWorkspaceQuery("{workspace-id-2}", "{kusto-query-2}",
               QueryTimeInterval.LAST_7_DAYS, new LogsQueryOptions().setServerTimeout(Duration.ofMinutes(2)));
      
       Mono<LogsBatchQueryResultCollection> batchQueryResponse = logsQueryAsyncClient.queryBatch(batchQuery);
      
       batchQueryResponse.subscribe(result -> {
           for (LogsBatchQueryResult queryResult : result.getBatchResults()) {
               System.out.println("Logs query result for query id " + queryResult.getId());
               for (LogsTableRow row : queryResult.getTable().getRows()) {
                   System.out.println(row.getRow()
                           .stream()
                           .map(LogsTableCell::getValueAsString)
                           .collect(Collectors.joining(",")));
               }
           }
       });
       
      Parameters:
      logsBatchQuery - LogsBatchQuery containing a batch of queries.
      Returns:
      A collection of query results corresponding to the input batch of queries.@return
    • queryBatchWithResponse

      public Mono<Response<LogsBatchQueryResultCollection>> queryBatchWithResponse(LogsBatchQuery logsBatchQuery)
      Returns all the Azure Monitor logs matching the given batch of queries.
      Parameters:
      logsBatchQuery - LogsBatchQuery containing a batch of queries.
      Returns:
      A collection of query results corresponding to the input batch of queries.@return