in pkg/sls-plugin.go [132:164]
func (ds *SlsDatasource) CheckHealth(_ context.Context, req *backend.CheckHealthRequest) (*backend.CheckHealthResult, error) {
log.DefaultLogger.Debug("CheckHealth called", "request", req)
config, err := LoadSettings(req.PluginContext)
if err != nil {
return nil, err
}
provider := sls.NewStaticCredentialsProvider(config.AccessKeyId, config.AccessKeySecret, "")
client := sls.CreateNormalInterfaceV2(config.Endpoint, provider)
client.SetUserAgent("grafana-go")
if config.Region != "" {
client.SetAuthVersion(sls.AuthV4)
client.SetRegion(config.Region)
}
var status = backend.HealthStatusOk
var message = "Data source is working"
log.DefaultLogger.Debug("CheckHealth", "project", config.Project, "client", client)
// 拿当前 Project 的信息
_, err = client.GetProject(config.Project)
if err != nil {
status = backend.HealthStatusError
message = err.Error()
}
return &backend.CheckHealthResult{
Status: status,
Message: message,
}, nil
}