BackendSrv interface

Used to communicate via http(s) to a remote backend such as the Grafana backend, a datasource etc. The BackendSrv is using the Fetch API under the hood to handle all the communication.

The request function can be used to perform a remote call by specifying a BackendSrvRequest. To make the BackendSrv a bit easier to use we have added a couple of shorthand functions that will use default values executing the request.

Signature

  1. export interface BackendSrv

Import

  1. import { BackendSrv } from '@grafana/runtime';

Remarks

By default, Grafana displays an error message alert if the remote call fails. To prevent this from happening showErrorAlert = true on the options object.

Methods

MethodDescription
datasourceRequest(options)Special function used to communicate with datasources that will emit core events that the Grafana QueryInspector and QueryEditor is listening for to be able to display datasource query information. Can be skipped by adding option.silent when initializing the request.
delete(url, data)
fetch(options)Observable http request interface
get(url, params, requestId)
patch(url, data)
post(url, data)
put(url, data)
request(options)

datasourceRequest method

Special function used to communicate with datasources that will emit core events that the Grafana QueryInspector and QueryEditor is listening for to be able to display datasource query information. Can be skipped by adding option.silent when initializing the request.

Signature

  1. datasourceRequest<T = any>(options: BackendSrvRequest): Promise<FetchResponse<T>>;

Parameters

ParameterTypeDescription
optionsBackendSrvRequest

Returns:

Promise<FetchResponse<T>>

delete method

Signature

  1. delete(url: string, data?: any): Promise<any>;

Parameters

ParameterTypeDescription
urlstring
dataany

Returns:

Promise<any>

fetch method

Observable http request interface

Signature

  1. fetch<T>(options: BackendSrvRequest): Observable<FetchResponse<T>>;

Parameters

ParameterTypeDescription
optionsBackendSrvRequest

Returns:

Observable<FetchResponse<T>>

get method

Signature

  1. get(url: string, params?: any, requestId?: string): Promise<any>;

Parameters

ParameterTypeDescription
urlstring
paramsany
requestIdstring

Returns:

Promise<any>

patch method

Signature

  1. patch(url: string, data?: any): Promise<any>;

Parameters

ParameterTypeDescription
urlstring
dataany

Returns:

Promise<any>

post method

Signature

  1. post(url: string, data?: any): Promise<any>;

Parameters

ParameterTypeDescription
urlstring
dataany

Returns:

Promise<any>

put method

Signature

  1. put(url: string, data?: any): Promise<any>;

Parameters

ParameterTypeDescription
urlstring
dataany

Returns:

Promise<any>

request method

Signature

  1. request(options: BackendSrvRequest): Promise<any>;

Parameters

ParameterTypeDescription
optionsBackendSrvRequest

Returns:

Promise<any>