in handler/ad/ad.go [65:97]
func (h *Handler) CreateAnomalyDetector(fileName string) error {
if len(fileName) < 1 {
return fmt.Errorf("file name cannot be empty")
}
jsonFile, err := os.Open(fileName)
if err != nil {
return fmt.Errorf("failed to open file %s due to %v", fileName, err)
}
defer func() {
err := jsonFile.Close()
if err != nil {
fmt.Println("failed to close json:", err)
}
}()
byteValue, _ := ioutil.ReadAll(jsonFile)
var request entity.CreateDetectorRequest
err = json.Unmarshal(byteValue, &request)
if err != nil {
return fmt.Errorf("file %s cannot be accepted due to %v", fileName, err)
}
ctx := context.Background()
names, err := h.CreateMultiEntityAnomalyDetector(ctx, request, true, true)
if err != nil {
return err
}
if len(names) > 0 {
fmt.Printf("Successfully created %d detector(s)", len(names))
fmt.Println()
return nil
}
return err
}