본문 바로가기
WIKI 기술 지식 베이스

Copy values processor

원문 보기 위키 갱신

출처: 문서

본문

Copy values processor

copy_values 프로세서는 이벤트 내에서 값을 복사하며, mutate event 프로세서예요.

구성

copy_values 프로세서는 다음 옵션으로 구성할 수 있어요.

옵션 필수 유형 설명
entries 예 entry 이벤트에서 복사할 항목 목록입니다. 자세한 내용은 entry를 참조하세요.
from_list 아니요 String 복사할 객체 목록의 키입니다.
to_list 아니요 String 추가할 새 목록의 키입니다.
overwrite_if_to_list_exists 아니요 Boolean true로 설정하면 to_list로 지정된 key가 이벤트에 이미 있을 때 기존 값을 덮어씁니다. 기본값은 false입니다.

entry

각 항목에 대해 다음 옵션을 구성할 수 있어요.

옵션 필수 유형 설명
from_key 예 String 복사할 항목의 키입니다.
to_key 예 String 추가할 새 항목의 키입니다.
overwrite_if_to_key_exists 아니요 Boolean true로 설정하면 key가 이벤트에 이미 있을 때 기존 값을 덮어씁니다. 기본값은 false입니다.
copy_when 아니요 String copy_values 작업을 수행하기 위한 조건을 Data Prepper 표현식을 사용하여 지정합니다. 지정하면 표현식이 true로 평가될 때만 copy_values 작업이 실행됩니다.

사용법

다음 예제는 copy_values 프로세서를 사용하는 방법을 보여줘요.

예: 값 복사 및 기존 필드 건너뛰기

다음 예제는 기존 필드를 건너뛰면서 값을 복사하도록 프로세서를 구성하는 방법을 보여줘요.

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

{% include copy.html %}

입력 이벤트에 다음 데이터가 포함된 경우:

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

프로세서는 "message1"을 "message3"에 복사하지만 "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"
...

{% include copy.html %}

입력 이벤트에 다음 데이터가 포함된 경우:

{"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
...

{% include copy.html %}

입력 이벤트에 다음 데이터가 포함된 경우:

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

더 알아보기 (Learn more)