convert_entry_type
convert_entry_type
处理器将事件中与指定键关联的值类型转换为指定类型。它是一个类型转换处理器,用于更改事件中某些字段的类型。某些数据必须转换为不同类型(例如,整数转换为双精度浮点数,或字符串转换为整数),以便通过基于条件的处理器或执行条件路由。
配置
您可以使用以下选项配置 convert_entry_type
处理器。
选项 | 必需 | 描述 |
---|---|---|
key | 是 | 需要将值转换为不同类型的键。 |
keys | 是 | 需要将值转换为不同类型的键。 |
type | 否 | 键值对的目标类型。可能的值包括 integer 、long 、double 、big_decimal 、string 和 boolean 。默认值为 integer 。 |
null_values | 否 | 表示何种值构成 null 值的字符串。如果字段值等于其中一个字符串,则该值被视为 null 并转换为 null 。 |
scale | 否 | 在转换为 big_decimal 时修改 big_decimal 的精度。默认值为 0 。 |
tags_on_failure | 否 | 当事件转换失败时,要添加到事件元数据中的标签列表。 |
convert_when | 否 | 使用 Data Prepper 表达式 指定执行 convert_entry_type 操作的条件。如果指定,convert_entry_type 操作仅在表达式评估为 true 时运行。 |
用法
首先,创建以下 pipeline.yaml
文件
type-conv-pipeline:
source:
...
....
processor:
- convert_entry_type:
key: "response_status"
type: "integer"
接下来,创建一个名为 logs_json.log
的日志文件,并将 pipeline.yaml
文件中文件源的 path
替换为该文件路径。有关更多信息,请参阅配置 OpenSearch Data Prepper。
例如,在运行 convert_entry_type
处理器之前,如果 logs_json.log
文件包含以下事件记录
{"message": "value", "response_status":"200"}
convert_entry_type
处理器将接收到的输出转换为以下输出,其中 response_status
值的类型从字符串变为整数
{"message":"value","response_status":200}