Grafana API脚本创建新的数据源失败



我正在学习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端点上,甚至复制返回的数据仍然会导致上述错误。我完全不知所措,因为这段代码用于创建仪表板(尽管仪表板使用了正确的json负载(。有什么想法吗?

数据源API的Grafana文档在响应中只有datasource元素,而不是初始调用。我的代码的第5行以及该元素的后续{}行是不需要的,并且删除了这些行后的脚本将运行。

最新更新