Este tópico descreve como usar a função de mapeamento e_dict_map para enriquecer dados.
Informações básicas
As funções de mapeamento padrão usam correspondência exata de texto para mapear dados. Para métodos mais avançados, como expressão regular, correspondência exata ou aproximada, use as funções de mapeamento de busca. As funções de mapeamento padrão incluem e_dict_map e e_table_map. A função e_dict_map aceita dados no formato dict, enquanto a e_table_map aceita dados tabulares obtidos por funções de recurso.
Por exemplo, use a função e_dict_map para converter códigos de status específicos em logs do NGINX em texto.
|
Código de status |
Texto |
|
200 |
Success |
|
300 |
Redirect |
|
400 |
Request error |
|
500 |
Server error |
Use a função e_dict_map para enriquecimento de dados
Este exemplo demonstra como usar a função e_dict_map para enriquecer dados.
-
Logs brutos
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 transformação
Converta os códigos de status da requisição no campo http_status em texto e adicione-os a um novo campo chamado status_desc.
-
Regra de transformação
e_dict_map({"400": "Request error", "500": "Server error", "300": "Redirect", "200": "Success"}, "http_status", "status_desc")NotaNa prática, existem mais códigos de status HTTP além dos quatro mostrados neste exemplo. Para obter uma lista completa, consulte Códigos de status HTTP. Se o campo http_status puder apresentar outros valores, como 401 ou 404, atualize o dicionário para incluí-los. Caso contrário, nenhuma correspondência será encontrada.
-
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