【问题标题】:Grafana API script to create new datasource failingGrafana API 脚本创建新数据源失败
【发布时间】:2021-09-21 18:48:57
【问题描述】:

我正在学习 Grafana,以及如何在 Powershell 中与 API 交互。我能够使用 Grafana HTTP API 创建仪表板,但是我无法获得相同的 API 来创建数据源。我的代码如下:

$header = @{"Authorization" = "Bearer apikey="}
$createDatasourceUri = "http://localhost:3000/api/datasources"
$createDatasourcejson = @'
{
    "datasource": {
        "name": "prometheusApiTest",
        "type": "prometheus",
        "url": "http://localhost:9090",
        "access": "proxy",
        "basicAuth": false,
        "isDefault": true
    }
}
'@

$datasourceParameters = @{
    Method = "POST"
    URI = $createDatasourceUri
    Body = $createDatasourcejson
    Headers = $header
    ContentType = "application/json"
}

Invoke-RestMethod @datasourceParameters 

我收到以下错误:

Invoke-RestMethod : [{"fieldNames":["Name"],"classification":"RequiredError","message":"Required"},{"fieldNames":["Type"],"classification":"RequiredError","message":"Required"},{"fieldNames":["Access"],"classificat
ion":"RequiredError","message":"Required"}]

我不知道发生了什么。我能找到的有关此错误的任何信息都表明我需要将 ContentType 指定为“application/json”,但我已经非常清楚地这样做了。当我在该 API 端点上执行“GET”时,我确实收到了数据,即使复制返回的数据仍然会导致上述错误。我完全不知所措,因为同样的代码用于创建仪表板(尽管仪表板具有正确的 json 有效负载)。有什么想法吗?

【问题讨论】:

    标签: powershell grafana grafana-api


    【解决方案1】:

    The Grafana docs for the Datasource API 在响应中只有datasource 元素,而不是初始调用。不需要我的代码的第 5 行以及该元素的后续 {},并且删除了这些行的脚本函数。

    【讨论】:

      猜你喜欢
      • 2023-03-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-07-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多