字符串变异处理器
您可以使用字符串变异处理器来改变字符串的显示方式。例如,您可以使用 uppercase_string
处理器将字符串转换为大写,使用 lowercase_string
处理器将字符串转换为小写。以下是允许您变异字符串的处理器列表:
替换字符串
substitute_string
处理器将键的值与正则表达式(regex)匹配,并将所有返回的匹配项替换为替换字符串。
配置
您可以使用以下选项配置 substitute_string
处理器。
选项 | 必需 | 描述 |
---|---|---|
条目 | 是 | 要添加到事件中的条目列表。 |
源 | 是 | 要修改的键。 |
from | 是 | 要替换的正则表达式字符串。当使用双引号时,必须使用 \\ 转义特殊正则表达式字符,例如 [ 和 ] ;当使用单引号时,则使用 \ 。更多信息,请参阅 Java 文档中的 Class Pattern。 |
为 | 是 | 替换 from 的每个匹配项的字符串。 |
用法
首先,创建以下 pipeline.yaml
文件
pipeline:
source:
file:
path: "/full/path/to/logs_json.log"
record_type: "event"
format: "json"
processor:
- substitute_string:
entries:
- source: "message"
from: ":"
to: "-"
sink:
- stdout:
接下来,创建一个名为 logs_json.log
的日志文件。然后,将您的 pipeline.yaml
文件中文件源的 path
替换为您的文件路径。更多详细信息,请参阅配置 OpenSearch Data Prepper。
运行 OpenSearch Data Prepper 之前,源显示为以下格式:
{"message": "ab:cd:ab:cd"}
运行 Data Prepper 后,源转换为以下格式:
{"message": "ab-cd-ab-cd"}
from
定义要替换的字符串,而 to
定义替换 from
字符串的字符串。在上述示例中,字符串 ab:cd:ab:cd
变为 ab-cd-ab-cd
。如果 from
正则表达式字符串没有返回匹配项,则键将不作任何更改返回。
拆分字符串
split_string
处理器使用分隔符将字段拆分为数组。
配置
您可以使用以下选项配置 split_string
处理器。
选项 | 必需 | 描述 |
---|---|---|
条目 | 是 | 要添加到事件中的条目列表。 |
源 | 是 | 要拆分的键。 |
分隔符 | 否 | 负责拆分的字符。不能与 delimiter_regex 同时定义。必须至少定义 delimiter 或 delimiter_regex 。 |
delimiter_regex (分隔符正则表达式) | 否 | 负责拆分的正则表达式字符串。不能与 delimiter 同时定义。必须定义 delimiter 或 delimiter_regex 中的一个。 |
用法
首先,创建以下 pipeline.yaml
文件
pipeline:
source:
file:
path: "/full/path/to/logs_json.log"
record_type: "event"
format: "json"
processor:
- split_string:
entries:
- source: "message"
delimiter: ","
sink:
- stdout:
接下来,创建一个名为 logs_json.log
的日志文件。然后,将您的 pipeline.yaml
文件中文件源的 path
替换为您的文件路径。更多详细信息,请参阅配置 OpenSearch Data Prepper。
运行 Data Prepper 之前,源显示为以下格式:
{"message": "hello,world"}
运行 Data Prepper 后,源转换为以下格式:
{"message":["hello","world"]}
大写字符串
uppercase_string
处理器将键的值(一个字符串)从其当前大小写转换为大写。
配置
您可以使用以下选项配置 uppercase_string
处理器。
选项 | 必需 | 描述 |
---|---|---|
with_keys | 是 | 要转换为大写的键列表。 |
用法
首先,创建以下 pipeline.yaml
文件
pipeline:
source:
file:
path: "/full/path/to/logs_json.log"
record_type: "event"
format: "json"
processor:
- uppercase_string:
with_keys:
- "uppercaseField"
sink:
- stdout:
接下来,创建一个名为 logs_json.log
的日志文件。然后,将您的 pipeline.yaml
文件中文件源的 path
替换为正确的文件路径。更多详细信息,请参阅配置 OpenSearch Data Prepper。
运行 Data Prepper 之前,源显示为以下格式:
{"uppercaseField": "hello"}
运行 Data Prepper 后,源转换为以下格式:
{"uppercaseField": "HELLO"}
小写字符串
lowercase string
处理器将字符串转换为小写。
配置
您可以使用以下选项配置 lowercase string
处理器。
选项 | 必需 | 描述 |
---|---|---|
with_keys | 是 | 要转换为小写的键列表。 |
用法
首先,创建以下 pipeline.yaml
文件
pipeline:
source:
file:
path: "/full/path/to/logs_json.log"
record_type: "event"
format: "json"
processor:
- lowercase_string:
with_keys:
- "lowercaseField"
sink:
- stdout:
接下来,创建一个名为 logs_json.log
的日志文件。然后,将您的 pipeline.yaml
文件中文件源的 path
替换为正确的文件路径。更多详细信息,请参阅配置 OpenSearch Data Prepper。
运行 Data Prepper 之前,源显示为以下格式:
{"lowercaseField": "TESTmeSSage"}
运行 Data Prepper 后,源转换为以下格式:
{"lowercaseField": "testmessage"}
修剪字符串
trim_string
处理器移除键开头和结尾的空白字符。
配置
您可以使用以下选项配置 trim_string
处理器。
选项 | 必需 | 描述 |
---|---|---|
with_keys | 是 | 要修剪空白字符的键列表。 |
用法
首先,创建以下 pipeline.yaml
文件
pipeline:
source:
file:
path: "/full/path/to/logs_json.log"
record_type: "event"
format: "json"
processor:
- trim_string:
with_keys:
- "trimField"
sink:
- stdout:
接下来,创建一个名为 logs_json.log
的日志文件。然后,将您的 pipeline.yaml
文件中文件源的 path
替换为正确的文件路径。更多详细信息,请参阅配置 OpenSearch Data Prepper。
运行 Data Prepper 之前,源显示为以下格式:
{"trimField": " Space Ship "}
运行 Data Prepper 后,源转换为以下格式:
{"trimField": "Space Ship"}