Este tema describe cómo usar la función de asignación e_dict_map para enriquecer datos.
Contexto
Las funciones de asignación estándar usan coincidencias exactas de texto para asignar datos. Si requiere métodos de coincidencia más avanzados, como expresiones regulares, coincidencia exacta o difusa, use las funciones de asignación de búsqueda. Las funciones de asignación estándar incluyen e_dict_map y e_table_map. La función e_dict_map acepta datos en formato dict, mientras que e_table_map acepta datos tabulares obtenidos de resource functions.
Por ejemplo, use la función e_dict_map para convertir códigos de estado específicos en registros NGINX a texto.
|
Código de estado |
Texto |
|
200 |
Success |
|
300 |
Redirect |
|
400 |
Request error |
|
500 |
Server error |
Enriquecimiento de datos con la función e_dict_map
En este ejemplo se muestra cómo usar la función e_dict_map para enriquecer datos.
-
Registros sin procesar
http_host: example.com http_status: 300 request_method: GET http_host: example.org http_status: 200 request_method: POST http_host: example.net http_status: 400 request_method: GET http_host: aliyundoc.com http_status: 500 request_method: GET -
Requisitos de transformación
Convierta los códigos de estado de solicitud del campo http_status a texto y agréguelos a un nuevo campo llamado status_desc.
-
Regla de transformación
e_dict_map({"400": "Request error", "500": "Server error", "300": "Redirect", "200": "Success"}, "http_status", "status_desc")NotaEn la práctica, existen más códigos de estado HTTP que los cuatro mostrados en este ejemplo. Para obtener una lista completa, consulte HTTP status codes. Si el campo http_status puede tener otros valores, como 401 o 404, actualice el diccionario para incluirlos. De lo contrario, no se encontrará ninguna coincidencia.
-
Resultado
http_host: example.com http_status: 300 request_method: GET status_desc: Redirect http_host: example.org http_status: 200 request_method: POST status_desc: Success http_host: example.net http_status: 400 request_method: GET status_desc: Request error http_host: aliyundoc.com http_status: 500 request_method: GET status_desc: Server error