in azkustoingest/file_options.go [233:274]
func IngestionMapping(mapping interface{}, format DataFormat) FileOption {
return option{
run: func(p *properties.All) error {
kind := format.MappingKind()
if kind == DFUnknown {
return errors.ES(
errors.OpUnknown,
errors.KClientArgs,
"IngestionMapping() option does not support EncodingType %v", format,
).SetNoRetry()
}
var j string
switch v := mapping.(type) {
case string:
j = v
case []byte:
j = string(v)
default:
b, err := json.Marshal(mapping)
if err != nil {
return errors.ES(
errors.OpUnknown,
errors.KClientArgs,
"IngestMapping option was passed to an azkustoingest.Ingestion call that was not a string, []byte or could be JSON encoded: %s", err,
).SetNoRetry()
}
j = string(b)
}
p.Ingestion.Additional.IngestionMapping = j
p.Ingestion.Additional.IngestionMappingType = kind
p.Ingestion.Additional.Format = format
return nil
},
clientScopes: QueuedClient | ManagedClient,
sourceScope: FromFile | FromReader | FromBlob,
name: "IngestionMapping",
}
}