外部バックエンドに依存しないgrafanaデータソースプラグインを書きたいと思います。外部バックエンドを使用せずにgrafanaデータソースプラグインを作成することはできますか?
アイブ氏は、単純なJSONデータソースプラグインに基づいて、私のプラグインを建て:https://github.com/grafana/simple-json-datasource
を私は次のようにdatasource.jsにおけるクエリ機能を変更しよう:
元:
query(options) {
var query = this.buildQueryParameters(options);
if (query.targets.length <= 0) {
return this.q.when([]);
}
return this.backendSrv.datasourceRequest({
url: this.url + '/query',
data: query,
method: 'POST',
headers: { 'Content-Type': 'application/json' }
});
私のクエリ機能:
query(options) {
return [
{
"target":"upper_75",
"datapoints":[
[622,1450754160000],
[365,1450754220000]
]
},
{
"target":"upper_90",
"datapoints":[
[861,1450754160000],
[767,1450754220000]
]
}
];
}
I私のクエリ機能を実装し、私はエラーメッセージが表示されますgraphanaパネルでグラフを表示しよう:データフォーマットに関する
「未定義のオブジェクトではありません(評価 『dataList.map』)」
いけない心配私はすべてを試しましたが、グラファナはリターンとは異なる何かを期待しているようですが、どのようなフォーマットを理解できないのでしょうか。
元の実装が返すものをトレースして複製しましたが、動作しません。私は
this.backendSrv.datasourceRequest({
url: this.url + '/query',
data: query,
method: 'POST',
headers: { 'Content-Type': 'application/json' }
});
信じる
は、HTTP応答のようなものを返すことになっているが、なぜ私は手動でそれを返すカント?
事前にお問い合わせいただきありがとうございます。
あなたは、元のプラグインのバックエンドの作業を持っている場合は、ブラウザでの出力を見て慰めます にconsole.log(this.backendSrv.datasourceRequest({ URL:this.url + '/クエリ' データクエリ、 方法: 'POST'、 ヘッダー:{ 'のContent-Type':「アプリケーション/ json '} }))); returnの前に文が挿入されていれば、どんなquery()関数が返すのでしょうか? –
このヒントありがとうございます! 私はそれを探して返します: オブジェクト{$$状態:オブジェクト} $$状態は何らかの角度のオブジェクトのようです。 これをさらに見て、ご協力いただきありがとうございます。 –