Topik ini menjelaskan cara menggunakan fungsi pemetaan e_dict_map untuk memperkaya data.
Tutorial video
Informasi latar belakang
Fungsi pemetaan standar menggunakan pencocokan teks eksak untuk memetakan data. Untuk metode pencocokan yang lebih canggih, seperti ekspresi reguler, pencocokan eksak, atau pencocokan kabur, Anda dapat menggunakan fungsi pemetaan pencarian. Fungsi pemetaan standar mencakup e_dict_map dan e_table_map. Fungsi e_dict_map menerima data dalam format dict, sedangkan fungsi e_table_map menerima data tabel yang diperoleh dari fungsi sumber daya.
Sebagai contoh, Anda dapat menggunakan fungsi e_dict_map untuk mengonversi kode status tertentu dalam log NGINX menjadi teks.
Kode status | Teks |
200 | Sukses |
300 | Pengalihan |
400 | Kesalahan permintaan |
500 | Kesalahan server |
Gunakan fungsi e_dict_map untuk pemperkayaan data
Contoh ini menunjukkan cara menggunakan fungsi e_dict_map untuk pemperkayaan data.
Log mentah
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: GETPersyaratan transformasi
Konversikan kode status permintaan di bidang http_status menjadi teks dan tambahkan ke bidang baru bernama status_desc.
Aturan transformasi
e_dict_map({"400": "Request error", "500": "Server error", "300": "Redirect", "200": "Success"}, "http_status", "status_desc")CatatanDalam praktiknya, terdapat lebih banyak kode status HTTP daripada empat yang ditampilkan dalam contoh ini. Untuk daftar lengkapnya, lihat kode status HTTP. Jika bidang http_status dapat memiliki nilai lain, seperti 401 atau 404, Anda harus memperbarui kamus untuk menyertakannya. Jika tidak, kecocokan tidak akan ditemukan.
Hasil
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