Link Search Menu Expand Document Documentation Menu

convert_entry_type

convert_entry_type 处理器将事件中与指定键关联的值类型转换为指定类型。它是一个类型转换处理器,用于更改事件中某些字段的类型。某些数据必须转换为不同类型(例如,整数转换为双精度浮点数,或字符串转换为整数),以便通过基于条件的处理器或执行条件路由。

配置

您可以使用以下选项配置 convert_entry_type 处理器。

选项 必需 描述
key 需要将值转换为不同类型的键。
keys 需要将值转换为不同类型的键。
type 键值对的目标类型。可能的值包括 integerlongdoublebig_decimalstringboolean。默认值为 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}
剩余 350 字符

有问题?

想做贡献?