Link Search Menu Expand Document Documentation Menu

copy_values

copy_values 处理器用于复制事件中的值,并且是一个 修改事件 处理器。

配置

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

选项 必需 类型 描述
entries entry 要复制到事件中的条目列表。有关更多信息,请参阅 条目
from_list 字符串 要复制的对象列表的键。
to_list 字符串 要添加的新列表的键。
overwrite_if_to_list_exists 布尔型 设置为 true 时,如果事件中已存在由 to_list 指定的 key,则会覆盖现有值。默认值为 false

entry

对于每个条目,您可以配置以下选项。

选项 必需 类型 描述
from_key 字符串 要复制的条目的键。
to_key 字符串 要添加的新条目的键。
overwrite_if_to_key_exists 布尔型 设置为 true 时,如果事件中已存在该 key,则会覆盖现有值。默认值为 false

用法

以下示例展示了如何使用 copy_values 处理器。

示例:复制值并跳过现有字段

以下示例展示了如何配置处理器以复制值并跳过现有字段

...
  processor:
    - copy_values:
        entries:
          - from_key: "message1"
            to_key: "message2"
          - from_key: "message1"
            to_key: "message3"
...

当输入事件包含以下数据时

{"message1": "hello", "message2": "bye"}

此处理器将“message1”复制到“message3”但不复制到“message2”,因为“message2”已存在。处理后的事件包含以下数据

{"message1": "hello", "message2": "bye", "message3": "hello"}

示例:复制值并覆盖

以下示例展示了如何配置处理器以复制值

...
  processor:
    - copy_values:
        entries:
          - from_key: "message1"
            to_key: "message2"
            overwrite_if_to_key_exists: true
          - from_key: "message1"
            to_key: "message3"
...

当输入事件包含以下数据时

{"message1": "hello", "message2": "bye"}

此处理器将“message1”同时复制到“message2”和“message3”,并覆盖“message2”中的现有值。处理后的事件包含以下数据

{"message1": "hello", "message2": "hello", "message3": "hello"}

示例:选择性地在两个对象列表之间复制值

以下示例展示了如何配置处理器以在列表之间复制值

...
  processor:
    - copy_values:
        from_list: mylist
        to_list: newlist
        entries:
          - from_key: name
            to_key: fruit_name
...

当输入事件包含以下数据时

{
  "mylist": [
    {"name": "apple", "color": "red"},
    {"name": "orange", "color": "orange"}
  ]
}

处理后的事件包含一个 newlist,其中包含选择性复制的字段

{
  "newlist": [
    {"fruit_name": "apple"},
    {"fruit_name": "orange"}
  ],
  "mylist": [
    {"name": "apple", "color": "red"},
    {"name": "orange", "color": "orange"}
  ]
}
剩余 350 字符

有问题?

想贡献?