PowerShell调用Grafana API创建数据源返回RequiredError必填项错误求助
问题原因
你请求体的结构不符合Grafana /api/datasources 接口的要求。Grafana v1 版本的创建数据源API,不需要在外层包裹datasource对象,所有属性直接放在JSON根层级即可。你现在把参数都封装在datasource字段下,接口识别不到必填的name/type/access参数,才会返回必填项缺失的报错。
你之前创建仪表盘能成功是因为仪表盘的创建API确实要求外层包裹dashboard字段,两个接口的请求体结构规则不一样,不要混用。
修正方案
调整JSON请求体结构,移除外层的datasource包装即可,完整修正代码如下:
$header = @{"Authorization" = "Bearer 替换为你的实际API密钥"} $createDatasourceUri = "http://localhost:3000/api/datasources" $createDatasourcejson = @' { "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
内容的提问来源于stack exchange,提问作者nightsurfer
相关产品推荐
相关产品推荐

