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"}
]
}