PutElasticsearchRecord 2025.5.31.15

번들

org.apache.nifi | nifi-elasticsearch-restapi-nar

설명

공식 Elastic REST 클라이언트 라이브러리를 사용하는 레코드 인식 Elasticsearch put 프로세서입니다. FlowFile 내의 각 레코드는 Elasticsearch _bulk API 로 전송할 문서로 변환됩니다. 여러 문서를 Elasticsearch로 전송되는 각 요청에 일괄 배치할 수 있습니다. 각 문서의 일괄 작업은 레코드 경로 식을 사용하여 구성할 수 있습니다.

태그

elasticsearch, elasticsearch5, elasticsearch6, elasticsearch7, elasticsearch8, index, json, put, record

입력 요구 사항

REQUIRED

민감한 동적 속성 지원

false

속성

속성

설명

Max JSON Field String Length

JSON 문서 또는 특성을 구문 분석할 때 허용되는 문자열 값의 최대 길이입니다.

el-rest-client-service

쿼리 실행에 사용할 Elasticsearch 클라이언트 서비스입니다.

el-rest-fetch-index

사용할 인덱스의 이름입니다.

el-rest-type

이 문서의 유형(인덱스 및 검색을 위해 Elasticsearch에서 사용)입니다.

put-es-not_found-is-error

true인 경우, “not_found” Elasticsearch 문서 관련 레코드는 “성공” 관계로 라우팅되고, 그렇지 않으면 “오류” 관계로 라우팅됩니다. 출력 오류 응답이 “true”인 경우, Elasticsearch의 “not_found” 응답이 error_responses 관계로 전송됩니다.

put-es-output-error-responses

이 옵션을 활성화하면 “오류”로 표시된 Elasticsearch의 응답 메시지는 “error_responses” 관계로 출력되며, “성공” 또는 “오류” 관계에 대한 Flowfile의 출력에는 영향을 미치지 않습니다

put-es-record-at-timestamp

@timestamp 필드로 사용할 값(Elasticsearch Data Streams에 필수)

put-es-record-at-timestamp-date-format

날짜 필드를 작성할 때 사용할 형식을 지정합니다. 지정하지 않으면 기본 형식인 ‘yyyy-MM-dd’가 사용됩니다. 지정하는 경우 값은 Java 단순 날짜 형식과 일치해야 합니다(예: 01/25/2017과 같이 MM/dd/yyyy의 경우 2자리 월, 2자리 일, 4자리 연도, 모두’/’문자로 구분).

put-es-record-at-timestamp-path

RecordPath 이 문서의 @timestamp를 포함하는 레코드의 필드를 가리키는 참조입니다. 비워두면 기본 @timestamp 속성을 사용하여 @timestamp가 결정됩니다

put-es-record-at-timestamp-time-format

시간 필드를 작성할 때 사용할 형식을 지정합니다. 지정하지 않으면 기본 형식인 ‘HH:mm:ss’가 사용됩니다. 지정하는 경우 값은 JJava Simple Date Format과 일치해야 합니다(예: 18:04:15와 같이 24시간 형식의 두 자리 시, 두 자리 분, 두 자리 초를 모두’:’문자로 구분한 HH:mm:ss).

put-es-record-at-timestamp-timestamp-format

타임스탬프 필드를 작성할 때 사용할 형식을 지정합니다. 지정하지 않으면 기본 형식인 ‘yyyy-MM-dd HH:mm:ss’가 사용됩니다. 지정된 경우, 값은 Java Simple Date Format 형식입니다(예: MM/dd/yyyy HH:mm:ss는 두 자리의 월, 그 다음에 두 자리의 일, 그 다음에 네 자리의 연도이며, 모두 ‘/’ 문자로 구분됩니다. 01/25/2017 18:04:15와 같이 그 다음에는 24시간 형식의 두 자리의 시간이, 그 다음에 두 자리의 분, 그 다음에 두 자리의 초가 ‘:’ 문자로 구분되어 이어집니다).

put-es-record-batch-size

한 번에 배치로 전송할 레코드의 수입니다.

put-es-record-bulk-error-groups

“errors” 관계에 기록된 오류 레코드는 오류 유형별로 그룹화되며, FlowFile 내의 첫 번째 레코드와 관련된 오류는 “elasticsearch.bulk.error”로 FlowFile 에 추가됩니다. “”찾을 수 없음”을 성공으로 처리”가 “false”인 경우, “not_found” Elasticsearch 문서 응답과 관련된 레코드도 “오류” 관계로 전송됩니다.

put-es-record-dynamic-templates-path

RecordPath 이 문서의 dynamic_templates을 포함하는 레코드의 필드를 가리키는 참조입니다. 필드는 맵 유형(예: 맵 또는 레코드)과 호환되거나 JSON 오브젝트로 구문 분석 가능한 문자열이어야 합니다. Elasticsearch 7+ 필요

put-es-record-error-writer

Elasticsearch의 응답에서 실패한 레코드가 있는지 검사하고 실패한 레코드는 이 Record Writer 서비스를 통해 레코드 세트에 작성되어 “오류” 관계로 전송됩니다. 성공한 레코드는 이 레코드 작성 서비스를 통해 설정된 레코드 세트에 기록되어 ‘성공’ 관계로 전송됩니다.

put-es-record-id-path

Elasticsearch에서 사용하기 위해 ID 필드를 검색하는 레코드 경로 식입니다. 비워두면 ID 는 Elasticsearch에 의해 자동으로 생성됩니다.

put-es-record-index-op

인덱싱하는 데 사용되는 작업 유형(생성, 삭제, 인덱스, 업데이트, 업서트)

put-es-record-index-op-path

Elasticsearch에서 사용할 인덱스 작업 필드를 검색하기 위한 레코드 경로 식입니다. 비워두면 기본 인덱스 작업 속성을 사용하여 인덱스 작업이 결정됩니다.

put-es-record-index-record-path

Elasticsearch에서 사용할 인덱스 필드를 검색하기 위한 레코드 경로 식입니다. 비워두면 기본 인덱스 속성을 사용하여 인덱스가 결정됩니다.

put-es-record-log-error-responses

이 옵션을 활성화하면 오류 로그 수준에서 NiFi 로그에 오류가 기록됩니다. 그렇지 않으면 전체적으로 NiFi 에서 디버그 로깅이 활성화된 경우에만 로그가 기록됩니다. 이 옵션의 목적은 사용자가 디버그 로깅을 켜지 않고도 실패한 작업을 디버깅할 수 있는 기능을 제공하기 위한 것입니다.

put-es-record-reader

flowfile에서 수신 레코드를 읽는 데 사용할 Record Reader입니다.

put-es-record-retain-at-timestamp-field

타임스탬프 레코드 경로로 사용되는 기존 필드를 유지할지 여부입니다.

put-es-record-retain-id-field

ID 레코드 경로로 사용되는 기존 필드를 유지할지 여부입니다.

put-es-record-script-path

문서 업데이트/업서트를 위한 스크립트가 포함된 레코드의 필드를 가리키는 RecordPath 입니다. 업데이트/업서트 작업에만 적용됩니다. 필드는 맵 유형 호환 가능(예: 맵 또는 레코드) 또는 JSON 오브젝트로 구문 분석 가능한 문자열이어야 합니다

put-es-record-scripted-upsert-path

레코드에서 scripted_upsert 부울 플래그가 포함된 필드를 가리키는 RecordPath 입니다. scripted_upsert 플래그를 업서트 작업에 추가할지 여부입니다. 문서의 존재 여부에 관계없이 Elasticsearch가 스크립트를 실행하도록 강제합니다. 기본값은 false입니다. 제공된 Upsert 문서(FlowFile 내용의)가 비어 있지만 클라이언트 서비스 컨트롤러 서비스의 Suppress null/비어 있는 값 표시 안 함으로 설정하지 않으면 “upsert” 문서가 Elasticsearch 요청에 포함되지 않고 작업이 스크립트를 실행할 새 문서를 생성하지 않아 “not_found” 오류가 발생하게 됩니다

put-es-record-type-record-path

Elasticsearch에서 사용할 유형 필드를 검색하기 위한 레코드 경로 식입니다. 비워두면 기본 유형 속성을 사용하여 유형이 결정됩니다.

관계

이름

설명

오류

“오류”를 발생시킨 Elasticsearch 문서에 해당하는 레코드/Flowfile(Elasticsearch 내에서)이 여기로 라우팅됩니다.

실패

서버 가용성과 무관한 이유로 실패하는 모든 flowfile은 이 관계로 이동합니다.

원본

요청 실패 없이 Elasticsearch로 전송되는 모든 Flowfile은 이 관계로 이동합니다.

retry

서버/클러스터 가용성으로 인해 실패하는 모든 flowfile은 이 관계로 이동합니다.

성공

(Elasticsearch 내에서) “오류”를 발생시키지 않은 Elasticsearch 문서에 해당하는 레코드/Flowfile은 여기로 라우팅됩니다.

Writes 특성

이름

설명

elasticsearch.put.error

FlowFile 레코드를 구문 분석하거나, 구문 분석된 문서를 Elasticsearch로 보내거나, Elasticsearch 응답을 구문 분석하는 데 문제가 있는 경우 오류 메시지입니다.

elasticsearch.put.error.count

Elasticsearch _bulk API 에서 오류를 생성한 레코드의 수입니다.

elasticsearch.put.success.count

Elasticsearch _bulk API 에서 성공적으로 처리된 레코드의 수입니다.

elasticsearch.bulk.error

Elasticsearch 내에서 레코드를 처리하는 동안 오류가 발생한 경우 _bulk 응답입니다.

참고 항목