2017-02-09 1 views
1

Ich möchte DataSource über ihre API erstellen. So kann ich DataSource ohne Probleme erstellen, aber ich kann die ID nicht angeben, die ich verwenden möchte.Wie kann die ID einer Datenquelle mit der Grafana API angegeben werden?

Es wäre nützlich für mich sein, weil ich Datenquelle dynamisch diese Logik folgend erstellt werden soll:

überprüfen, ob ein neuer Host ist bereits -> wenn man nach oben zu schaffen, ist eine Datenquelle

überprüfen, ob ein Host nach unten -> wenn man seine ist Datenquelle

So die Datenquelle ich habe erstellen unten löschen:

createDataSource = Meteor.bindEnvironment(function() { 
    setTimeout(Meteor.bindEnvironment(function(){ 
    HTTP.call("POST", "http://localhost:3000/api/datasources", { 
      headers: { 
       'Accept': 'application/json', 
       'Content-Type': 'application/json', 
       'Authorization': 'Bearer 123', 
      }, 
      data: { 
       "name":"test_datasource_from_js", 
       "id":5, 
       "type":"prometheus", 
       "url":"http://dataSourceFromJs:9090", 
       "access":"proxy", 
       "basicAuth":false 
      } 
     }, 
     function(error, result) { 
      if (!error) { 
       console.log(result); 
      } else { 
       console.error(error); 
      } 
     }); 
    }),500); 
}); 

Aber das Feld "id":5 hatte keinen Einfluss die Datenquelle mit der ID 3.

Antwort

1

Sie die ID einstellen können nicht selbst erstellt wurde. Intern verwendet Grafana einen inkrementellen Zähler in der Datenbank, um ID-Kollisionen zu vermeiden.

Ich schlage vor, Sie arbeiten mit Datenbanknamen anstelle von ID.

+0

Oh okay, es ist eine nette Eingabe, also werde ich etwas mit den Namen machen! Vielen Dank – Jerome

Verwandte Themen