このトピックでは、フィールドを動的に構築し、既存のログをまとめてパッケージ化し、新しいフィールドに追加する方法について説明します。
例:次の変換ルールの 1 つ目の関数は、次の生ログエントリ内の content フィールドの名前を k1_content_copy に、name フィールドを k2_name_copy に、School フィールドを k3_school_copy に変更します。2 つ目の関数は、__extract_others__ という名前のフィールドを構築し、変換後のログエントリに追加したうえで、k1_content_copy フィールドと k3_school_copy フィールドを削除します。
データ変換 (レガシー)
変換ルール
e_set("k1_content_copy", v("content"), "k2_name_copy", v("name"), "k3_school_copy", v("School"))
e_set("__extract_others__", dct_delete(KEEP,"k1_content_copy","k3_school_copy"))生ログ
School: CMU
__source__: 192.168.1.1
__tag__:__client_ip__: 192.168.1.2
_tag__:__receive_time__:1591755799
__topic__:
content:test concent
name: 田中一郎出力ログ
School: CMU
__extract_others__: {"School":"CMU","__source__":"192.168.1.1","__tag__:__client_ip__":"192.168.1.2","_tag__:__receive_time__":"1591755799","__topic__":"","content":"test concent","name":"田中一郎","k2_name_copy":"田中一郎"}
__source__: 192.168.1.1
__tag__:__client_ip__: 192.168.1.2
_tag__:__receive_time__: 1591755799
__topic__:
content: test concent
k1_content_copy: test concent
k2_name_copy: 田中一郎
k3_school_copy: CMU
name: 田中一郎