PutElasticsearchRecord 2025.5.31.15¶
번들¶
org.apache.nifi | nifi-elasticsearch-restapi-nar
설명¶
공식 Elastic REST 클라이언트 라이브러리를 사용하는 레코드 인식 Elasticsearch put 프로세서입니다. FlowFile 내의 각 레코드는 Elasticsearch _bulk API 로 전송할 문서로 변환됩니다. 여러 문서를 Elasticsearch로 전송되는 각 요청에 일괄 배치할 수 있습니다. 각 문서의 일괄 작업은 레코드 경로 식을 사용하여 구성할 수 있습니다.
입력 요구 사항¶
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 응답입니다. |