PutElasticsearchJson 2025.5.31.15

번들

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

설명

공식 Elastic REST 클라이언트 라이브러리를 사용하는 Elasticsearch 풋 프로세서입니다. 각 FlowFile 은 Elasticsearch _bulk API 로 전송할 문서로 취급됩니다. 여러 개의 FlowFiles 을 Elasticsearch로 전송되는 각 요청에 함께 배치할 수 있습니다.

태그

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

입력 요구 사항

REQUIRED

민감한 동적 속성 지원

false

속성

속성

설명

Max JSON Field String Length

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

el-rest-client-service

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

el-rest-fetch-index

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

el-rest-type

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

put-es-json-charset

문서 데이터의 문자 세트를 지정합니다.

put-es-json-dynamic_templates

문서에 대한 dynamic_templates입니다. JSON 오브젝트로 구문 분석할 수 있어야 합니다. Elasticsearch 7+ 필요

put-es-json-id-attr

문서의 식별자가 포함된 FlowFile 특성의 이름입니다. 인덱스 작업이 “index”인 경우, 이 속성을 비워 두거나 빈 값으로 평가할 수 있으며, 이 경우 문서의 식별자가 Elasticsearch에 의해 자동 생성됩니다. 다른 모든 인덱스 작업의 경우 특성은 비어 있지 않은 값으로 평가되어야 합니다.

put-es-json-script

문서 업데이트/업서트를 위한 스크립트입니다. 업데이트/업서트 작업에만 적용됩니다. JSON 오브젝트로 구문 분석할 수 있어야 합니다. 비워두면 FlowFile 내용이 문서 업데이트/업서트에 사용됩니다

put-es-json-scripted-upsert

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

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-batch-size

단일 배치로 전송할 FlowFiles 의 기본 설정 번호입니다

put-es-record-index-op

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

put-es-record-log-error-responses

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

관계

이름

설명

오류

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

실패

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

원본

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

retry

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

성공

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

Writes 특성

이름

설명

elasticsearch.put.error

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

elasticsearch.bulk.error

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

참고 항목