Parse Ion processor
출처: 문서
본문
Parse Ion 프로세서
parse_ion 프로세서는 Amazon Ion 데이터를 파싱해요.
설정
parse_ion 프로세서는 다음 옵션으로 설정할 수 있어요.
| 옵션 | 필수 | 타입 | 설명 |
|---|---|---|---|
source |
아니요 | String | event에서 파싱할 필드예요. 기본값은 message예요. |
destination |
아니요 | String | 파싱된 JSON의 대상 필드예요. 기본값은 event의 루트예요. "", / 또는 공백만 있는 string은 유효한 event 필드가 아니므로 사용할 수 없어요. |
pointer |
아니요 | String | 파싱할 필드를 가리키는 JSON 포인터예요. 기본적으로 pointer는 없으며, 전체 source가 파싱돼요. pointer는 JSON 배열 인덱스에도 접근할 수 있어요. JSON 포인터가 유효하지 않으면 전체 source 데이터가 출력 event로 파싱돼요. 가리키는 키가 이미 event에 존재하고 destination이 루트인 경우, 포인터는 키의 전체 경로를 사용해요. |
parse_when |
아니요 | String | 프로세서가 파싱을 수행해야 하는 조건을 지정해요. 기본값은 조건 없음이에요. 표현식 구문을 따르는 OpenSearch Data Prepper 표현식 문자열을 사용해요. |
overwrite_if_destination_exists |
아니요 | Boolean | true로 설정하면 대상을 덮어써요. false로 설정하면 기존 대상 값을 변경하지 않아요. 기본값은 true예요. |
delete_source |
아니요 | Boolean | true로 설정하면 소스 필드가 삭제돼요. 기본값은 false예요. |
tags_on_failure |
아니요 | String | 프로세서가 실패하거나 파싱 중 알 수 없는 예외가 발생할 경우 이벤트에 설정할 태그를 지정하는 문자열 목록이에요. |
handle_failed_events |
아니요 | String | Ion 처리 오류가 포함된 이벤트를 처리하는 방법을 결정해요. 유효한 값은 skip(오류를 기록하고 이벤트를 다음 프로세서로 보냄)과 skip_silently(오류를 기록하지 않고 이벤트를 다음 프로세서로 보냄)예요. 기본값은 skip이에요. |
사용법
다음 예제는 파이프라인에서 parse_ion 프로세서를 사용하는 방법을 보여줘요.
예제: 최소 구성
다음 예제는 parse_ion 프로세서의 최소 구성을 보여줘요:
parse-json-pipeline:
source:
stdin:
processor:
- parse_json:
source: "my_ion"
sink:
- stdout:
{% include copy.html %}
입력 이벤트에 다음 데이터가 포함되면:
{"my_ion": "{ion_value1: \"hello\", ion_value2: \"world\"}"}
프로세서는 이벤트를 다음 출력으로 파싱해요:
{"ion_value1": "hello", "ion_value2" : "world"}
메트릭
다음 표는 일반적인 Abstract processor 메트릭을 설명해요.
| 메트릭 이름 | 타입 | 설명 |
|---|---|---|
recordsIn |
Counter | 파이프라인 구성 요소로 레코드가 들어오는 것을 나타내는 메트릭이에요. |
recordsOut |
Counter | 파이프라인 구성 요소에서 레코드가 나가는 것을 나타내는 메트릭이에요. |
timeElapsed |
Timer | 파이프라인 구성 요소 실행 중 경과된 시간을 나타내는 메트릭이에요. |
parse_ion 프로세서는 다음 사용자 정의 메트릭을 포함해요.
Counter
parseErrors: 이벤트에서 잘못된 Ion 형식으로 인한 파싱 오류 수예요. Ion 형식을 파싱할 수 없음을 나타내요.processingFailures:parse_ion프로세서에서 발생한 처리 실패 수예요. 잘못된 Ion 형식과 관련 없는 예상치 못한 오류를 나타내요.