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
export interface BackendSrv
Import
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
Method | Description |
---|---|
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
datasourceRequest<T = any>(options: BackendSrvRequest): Promise<FetchResponse<T>>;
Parameters
Parameter | Type | Description |
---|---|---|
options | BackendSrvRequest |
Returns:
Promise<FetchResponse<T>>
delete method
Signature
delete(url: string, data?: any): Promise<any>;
Parameters
Parameter | Type | Description |
---|---|---|
url | string |
|
data | any |
Returns:
Promise<any>
fetch method
Observable http request interface
Signature
fetch<T>(options: BackendSrvRequest): Observable<FetchResponse<T>>;
Parameters
Parameter | Type | Description |
---|---|---|
options | BackendSrvRequest |
Returns:
Observable<FetchResponse<T>>
get method
Signature
get(url: string, params?: any, requestId?: string): Promise<any>;
Parameters
Parameter | Type | Description |
---|---|---|
url | string |
|
params | any |
|
requestId | string |
Returns:
Promise<any>
patch method
Signature
patch(url: string, data?: any): Promise<any>;
Parameters
Parameter | Type | Description |
---|---|---|
url | string |
|
data | any |
Returns:
Promise<any>
post method
Signature
post(url: string, data?: any): Promise<any>;
Parameters
Parameter | Type | Description |
---|---|---|
url | string |
|
data | any |
Returns:
Promise<any>
put method
Signature
put(url: string, data?: any): Promise<any>;
Parameters
Parameter | Type | Description |
---|---|---|
url | string |
|
data | any |
Returns:
Promise<any>
request method
Signature
request(options: BackendSrvRequest): Promise<any>;
Parameters
Parameter | Type | Description |
---|---|---|
options | BackendSrvRequest |
Returns:
Promise<any>
Related Grafana resources
Opening keynote: What's new in Grafana 9?
Raj Dutt, Myrle Krantz, and Torkel Ödegaard unveil what's new in Grafana 9. Watch the opening keynote presentation from GrafanaCONline 2022. On-demand.
Unify your data with Grafana plugins: Splunk, MongoDB, Datadog, and more
Show how Grafana can be used to take data from multiple different sources and unify it, without disrupting the investments that are working today.
Getting started with Grafana Enterprise and observability
Join the Grafana Labs team for a 30-minute demo of how to get started with the Grafana Stack, so you can go from zero to observability in just a few minutes.