6 Preprocesamiento de CSV a JSON
Descripción general
En este paso de preprocesamiento es posible convertir datos de archivos CSV en formato JSON. Es compatible en:
- métricas (prototipos de métricas)
- reglas de descubrimiento de bajo nivel
Configuración
Para configurar un paso de preprocesamiento de CSV a JSON:
- Vaya a la pestaña Preprocessing en la configuración de item/discovery rule
- Haga clic en Add
- Seleccione la opción CSV to JSON

El primer parámetro permite establecer un delimitador personalizado. Tenga en cuenta que, si la primera línea de la entrada CSV comienza con "Sep=" y va seguida de un único carácter UTF-8, ese carácter se utilizará como delimitador en caso de que el primer parámetro no esté establecido. Si el primer parámetro no está establecido y no se obtiene un delimitador de la línea "Sep=", entonces se utilizará una coma como separador.
El segundo parámetro opcional permite establecer un símbolo de comillas.
Si la casilla With header row está marcada, los valores de la línea de encabezado se interpretarán como nombres de columna (consulte Procesamiento de encabezado para más información).
Si la casilla Custom on fail está marcada, el item no pasará a ser no compatible en caso de que falle un paso de preprocesamiento. Además, se pueden establecer opciones personalizadas de manejo de errores: descartar el valor, establecer un valor especificado o establecer un mensaje de error especificado.
Procesamiento de la cabecera
La línea de cabecera del archivo CSV puede procesarse de dos maneras diferentes:
- Si la casilla Con fila de cabecera está marcada, los valores de la línea de cabecera se interpretan como nombres de columna. En este caso, los nombres de columna deben ser únicos y la fila de datos no debe contener más columnas que la fila de cabecera.
- Si la casilla Con fila de cabecera no está marcada, la línea de cabecera se interpreta como datos. Los nombres de columna se generan automáticamente (1,2,3,4...).
Ejemplo de archivo CSV:
Nr,Item name,Key,Qty
1,active agent item,agent.hostname,33
"2","passive agent item","agent.version","44"
3,"active,passive agent items",agent.ping,55
Un carácter de comillas dentro de un campo entre comillas en la entrada debe escaparse anteponiéndole otro carácter de comillas.
Procesando la línea de cabecera
Salida JSON cuando se espera una línea de cabecera:
[
{
"Nr":"1",
"Item name":"active agent item",
"Key":"agent.hostname",
"Qty":"33"
},
{
"Nr":"2",
"Item name":"passive agent item",
"Key":"agent.version",
"Qty":"44"
},
{
"Nr":"3",
"Item name":"active,passive agent items",
"Key":"agent.ping",
"Qty":"55"
}
]
Sin procesamiento de línea de cabecera
Salida JSON cuando no se espera una línea de cabecera:
[
{
"1":"Nr",
"2":"Item name",
"3":"Key",
"4":"Qty"
},
{
"1":"1",
"2":"active agent item",
"3":"agent.hostname",
"4":"33"
},
{
"1":"2",
"2":"passive agent item",
"3":"agent.version",
"4":"44"
},
{
"1":"3",
"2":"active,passive agent items",
"3":"agent.ping",
"4":"55"
}
]