Este tema describe la sintaxis, los parámetros y los ejemplos de las funciones de operación de campos.
Lista de funciones
|
Función |
Descripción |
|
Obtiene el valor de un campo de registro específico. Si se pasan varios nombres de campo, la función devuelve el valor del primer campo que existe en el registro. Esta función se puede combinar con otras. Para obtener más información, consulte Cleanse data by calling functions. |
|
|
Agrega un campo nuevo o establece un valor nuevo para un campo existente. Esta función se puede combinar con otras. Para obtener más información, consulte Cleanse data by calling functions. |
|
|
Elimina los campos de registro que cumplen con las condiciones especificadas. Esta función se puede combinar con otras. Para obtener más información, consulte Transform complex JSON data. |
|
|
Conserva los campos de registro que cumplen con las condiciones especificadas. |
|
|
Empaqueta los campos de registro y los envía a un campo nuevo. |
|
|
Cambia el nombre de los campos de registro que cumplen con las condiciones especificadas. Esta función se puede combinar con otras. Para obtener más información, consulte Cleanse data by calling functions. |
v
Llame a la función v para recuperar el valor de un campo de registro específico. Si especifica varios nombres de campo, la función devuelve el valor del primer campo que existe en el registro.
-
Sintaxis
v(key, ..., default=None) -
Parámetros
Parámetro
Tipo de parámetro
Obligatorio
Descripción
key
String
Sí
Introduzca un nombre para el campo.
default
Any
No
Si el nombre de campo especificado no existe, la función devuelve el valor de
default. El valor predeterminado es None. -
Respuesta
Devuelve el valor del primer campo existente en el registro. Si ninguno de los campos especificados existe, la función devuelve el valor del parámetro default.
-
Ejemplos
Asigne el valor del campo
contental campotest_content.-
Registro original
content: hello -
Regla de transformación
e_set("test_content", v("content")) -
Resultado
content: hello test_content: hello
-
-
Referencias
Esta función se puede combinar con otras. Para obtener más información, consulte Cleanse data by calling functions.
e_set
Llame a la función e_set para agregar un campo nuevo o establecer un valor nuevo para un campo existente.
-
Sintaxis
e_set(key1, value1, key2, value2, mode="overwrite")ImportanteLos parámetros key1 y value1 se deben especificar en pares.
-
Cuando use la función e_set para configurar un campo de tiempo, como F_TIME o __time__, el valor debe ser una cadena numérica.
e_set(F_TIME, "abc") # Incorrect e_set(F_TIME, "12345678") # Correct
-
Parámetros
Parámetro
Tipo de parámetro
Obligatorio
Descripción
key
String
Sí
El nombre del campo de destino. También puede obtener el nombre del campo a partir de una expresión de cadena. Para obtener más información sobre cómo configurar nombres de campo especiales, consulte Event types.
value
Any
Sí
El valor nuevo del campo. Los valores que no son cadenas se convierten en cadenas y se agregan al registro. Las tuplas, listas y diccionarios se convierten en cadenas de objetos JSON. Para obtener más información sobre la conversión de cadenas, consulte Automatic type conversion during assignment.
NotaSi el valor que se pasa es None, no se realiza ninguna actualización.
mode
String
No
El modo de sobrescritura del campo. El valor predeterminado es overwrite. Para obtener más información, consulte Field extraction check and overwrite modes.
-
Respuesta
Devuelve el registro actualizado.
-
Ejemplos
-
Ejemplo 1: Establecer un valor estático para un campo.
Agregue un campo nuevo llamado city y establezca su valor en Shanghai.
e_set("city", "Shanghai") -
Ejemplo 2: Copiar el valor de un campo.
Llame a una sola función de expresión para asignar el valor del campo existente ret al campo nuevo result.
e_set("result", v("ret")) -
Ejemplo 3: Establecer un valor dinámico.
Llame a una función de expresión compuesta para recuperar el valor del primer campo existente, convertirlo a minúsculas y asignarlo al campo result.
e_set("result", str_lower(v("ret", "return"))) -
Ejemplo 4: Establecer el valor de un campo varias veces.
-
Establezca el valor del campo event_type.
e_set("event_type", "login event", "event_info", "login host") -
Si el valor del campo ret es fail, establezca el valor del campo event_type en login failed event.
e_if(e_search('ret==fail'), e_set("event_type", "login failed event" ))
-
-
Referencias
Esta función se puede combinar con otras. Para obtener más información, consulte Cleanse data by calling functions.
-
e_drop_fields
Llame a la función e_drop_fields para eliminar los campos de registro que cumplen con las condiciones especificadas.
-
Sintaxis
e_drop_fields(key1, key2, ....,regex=False) -
Parámetros
Parámetro
Tipo de parámetro
Obligatorio
Descripción
key
String
Sí
El nombre del campo de registro. Puede ser una expresión regular. Si el nombre del campo coincide por completo con la condición, el campo se elimina. Los campos que no coinciden se conservan. Para obtener más información sobre expresiones regulares, consulte Regular expressions.
Debe configurar como mínimo un campo de registro.
regex
Boolean
No
Si este parámetro se establece en False, no se usan expresiones regulares para la coincidencia. Si no se configura este parámetro, el valor predeterminado es True.
-
Respuesta
Devuelve el registro del que se eliminaron los campos.
-
Ejemplos
Si el valor del campo content es 123, elimine los campos content y age.
-
Registro original
age: 18 content: 123 name: twiss -
Regla de transformación
e_if(e_search("content==123"), e_drop_fields("content", "age",regex=True)) -
Resultado
name: twiss
-
-
Referencias
Esta función se puede combinar con otras. Para obtener más información, consulte Transform complex JSON data.
e_keep_fields
Llame a la función e_keep_fields para conservar los campos de registro que cumplen con las condiciones especificadas.
Simple Log Service incluye campos de metadatos integrados, como __time__ y __topic__. Si no conserva el campo __time__ cuando llama a la función e_keep_fields, la hora del registro se restablece a la hora actual del sistema. Para evitar que se restablezcan los valores de los campos de metadatos, debe agregarlos a la lista. El formato común es F_TIME, F_META, F_TAGS, "f1", "f2". Para obtener más información, consulte Fixed identifiers.
-
Sintaxis
e_keep_fields(key1, key2, ....,regex=False) -
Parámetros
Parámetro
Tipo de parámetro
Obligatorio
Descripción
key
String
Sí
El nombre del campo de registro. Puede ser una expresión regular. Si el nombre del campo coincide por completo con la condición, el campo se conserva. Los campos que no coinciden se eliminan.
Debe configurar como mínimo un campo.
regex
Boolean
No
Si este parámetro se establece en False, no se usan expresiones regulares para la coincidencia. Si no se configura este parámetro, el valor predeterminado es True.
-
Respuesta
Se devuelven los registros conservados.
-
Ejemplos
Si el valor del campo content es 123, conserve los campos content y age.
-
Registro original
age: 18 content: 123 name: twiss -
Regla de transformación
e_if(e_search("content==123"), e_keep_fields("content", "age")) -
Resultado
age: 18 content: 123
-
e_pack_fields
Llame a la función e_pack_fields para empaquetar campos de registro y enviarlos a un campo nuevo.
-
Sintaxis
e_pack_fields(output_fields,include=".*",exclude=None,drop_packed=True) -
Parámetros
Parámetro
Tipo
Obligatorio
Descripción
output_field
String
Sí
El nombre del campo de salida después del empaquetado. Su valor tiene formato JSON.
include
String
No
La configuración de la lista de permitidos. Se empaquetan los campos que coinciden con la expresión regular. El valor predeterminado es ".*", lo que indica que coinciden todos los campos. Para obtener más información, consulte Regular expressions.
exclude
String
No
La configuración de la lista de bloqueados. No se empaquetan los campos que coinciden con la expresión regular. El valor predeterminado es None, lo que indica que no se realiza ninguna coincidencia. Para obtener más información, consulte Regular expressions.
drop_packed
Boolean
No
Especifica si se eliminan los datos originales empaquetados. El valor predeterminado es True.
True (predeterminado): los datos originales empaquetados se eliminan de la salida.
False: los datos originales empaquetados no se eliminan de la salida.
-
Respuesta
Devuelve los datos de registro empaquetados.
-
Ejemplos
-
Ejemplo 1: Empaquetar todos los campos de registro en el campo test. De forma predeterminada, los campos originales empaquetados se eliminan.
-
Registro original
test1:123 test2:456 test3:789 -
Regla de transformación
e_pack_fields("test") -
Resultado
test:{"test1": "123", "test2": "456", "test3": "789"}
-
-
Ejemplo 2: Empaquetar todos los campos de registro en el campo test. Los campos originales empaquetados no se eliminan.
-
Registro original
test1:123 test2:456 test3:789 -
Regla de transformación
e_pack_fields("test",drop_packed=False) -
Resultado
test:{"test1": "123", "test2": "456", "test3": "789"} test1:123 test2:456 test3:789
-
-
Ejemplo 3: Empaquetar los campos test y abcd en el campo content. Los campos originales empaquetados no se eliminan.
-
Registro original
abcd@#%:123 test:456 abcd:789 -
Regla de transformación
e_pack_fields("content", include="\w+", drop_packed=False) -
Resultado
abcd:789 abcd@#%:123 content:{"test": "456", "abcd": "789"} test:456
-
-
Ejemplo 4: Empaquetar todos los campos, excepto test y abcd, en el campo content. Los campos originales empaquetados se eliminan.
-
Registro original
abcd@#%:123 test:456 abcd:789 -
Regla de transformación
e_pack_fields("content", exclude="\w+", drop_packed=True) -
Resultado
abcd:789 content:{"abcd@#%": "123"} test:456
-
-
e_rename
Llame a la función e_rename para cambiar el nombre de los campos de registro que cumplen con las condiciones especificadas.
-
Sintaxis
e_rename("key1", "new key1", "key2", "new key2", ..., regex=False)NotaLos parámetros key y new key se deben especificar en pares. Si la
new keyya existe en el registro de origen, no se ejecuta ninguna operación. -
Parámetros
Parámetro
Tipo de parámetro
Obligatorio
Descripción
key
String
Sí
El nombre del campo de registro. Puede ser una expresión regular. Si el nombre del campo coincide por completo con la condición, se le cambia el nombre. Para obtener más información sobre expresiones regulares, consulte Regular expressions.
Debe configurar como mínimo un campo.
new key
String
Sí
El nombre nuevo del campo.
regex
Boolean
No
Si este parámetro se establece en False, no se usan expresiones regulares para la coincidencia. Si no se configura este parámetro, el valor predeterminado es True.
-
Respuesta
Se devuelve el campo con el nombre cambiado.
-
Ejemplos
-
Ejemplo 1: Cambiar el nombre del campo host a client_host.
-
Registro original
host: 1006 -
Regla de transformación
e_rename("host","client_host") -
Resultado
client_host: 1006
-
-
Ejemplo 2: Si el campo no existe, no se le cambia el nombre.
-
Registro original
host: 1006 -
Regla de transformación
e_rename("url","rename_url") -
Resultado
host: 1006
-
-
Referencias
Esta función se puede combinar con otras. Para obtener más información, consulte Cleanse data by calling functions.
-