ElasticSearchClientServiceImpl
ElasticSearchClientServiceImpl
Elasticsearch(저수준) REST 클라이언트를 사용해 Elasticsearch 클라이언트에 접근하는 컨트롤러 서비스예요.
출처: 문서
본문
기능 — 일반 공개(Generally Available)
Openflow Snowflake 배포는 AWS, Azure, GCP 상용(Commercial) 지역의 모든 계정에서 사용할 수 있어요. Openflow BYOC 배포는 AWS 상용 지역의 모든 계정에서 사용할 수 있어요.
설명 (Description)
Elasticsearch(저수준) REST 클라이언트를 사용해 Elasticsearch 클라이언트에 접근하기 위한 컨트롤러 서비스예요.
태그 (Tags)
client, elasticsearch, elasticsearch6, elasticsearch7, elasticsearch8
속성 (Properties)
아래 목록에서 필수 속성은 별표(*)로 표시돼요. 그 외 속성은 선택 사항으로 간주돼요. 표에는 기본값과 해당 속성이 NiFi Expression Language를 지원하는지 여부도 함께 표시돼요.
| 표시 이름 (Display Name) | API 이름 (API Name) | 기본값 (Default Value) | 허용 값 (Allowable Values) | 설명 (Description) |
|---|---|---|---|---|
| API Key * | API Key | 인코딩된 API 키예요. | ||
| API Key ID * | API Key ID | API 키의 고유 식별자예요. | ||
| Authorization Scheme * | Authorization Scheme | BASIC | None, PKI, Basic, API Key, JWT | Elasticsearch에 대한 선택적 인증에 사용되는 인증 체계(authorization scheme)예요. |
| Character Set * | Character Set | UTF-8 | Elasticsearch의 응답을 해석하는 데 사용할 문자 집합이에요. | |
| Connect timeout * | Connect timeout | 5000 | 연결을 시도할 때 타임아웃이 발생하기 전의 시간(밀리초)을 제어해요. | |
| Enable Compression * | Enable Compression | false | true, false | REST 클라이언트가 gzip 콘텐츠 인코딩으로 요청을 압축하고 압축된 응답을 받기 위해 'Accept-Encoding: gzip' 헤더를 추가할지 여부예요. |
| HTTP Hosts * | HTTP Hosts | Elasticsearch 쿼리 노드를 호스팅하는 HTTP 호스트의 쉼표로 구분된 목록이에요. 각 항목은 프로토콜, 도메인, 포트를 포함한 유효한 URI여야 해요. 예를 들어 'https://elasticsearch1:9200, https://elasticsearch2:9200' 이에요. 참고로 호스트는 헤더로 요청에 포함돼요 (일반적으로 도메인과 포트를 포함, 예: elasticsearch:9200). | ||
| JWT Shared Secret * | JWT Shared Secret | JWT 영역의 Shared Secret이에요. | ||
| Node Selector * | Node Selector | ANY | Any, Skip Dedicated Masters | 요청을 받을 수 있는 Elasticsearch 노드를 선택해요. 전용 Elasticsearch 마스터 노드에서 요청을 멀리 유지하는 데 사용돼요. |
| OAuth2 Access Token Provider * | OAuth2 Access Token Provider | Elasticsearch와의 Bearer Token 인증에 사용할 JWT를 제공하는 OAuth2 Access Token Provider예요. | ||
| Password * | Password | XPack 보안과 함께 사용할 비밀번호예요. | ||
| Path Prefix | Path Prefix | http 클라이언트가 사용하는 모든 요청의 경로 접두사를 설정해요. 예를 들어 '/my/path'로 설정하면 모든 클라이언트 요청이 '/my/path/' + 엔드포인트가 돼요. 기본적으로 모든 요청의 엔드포인트는 이 pathPrefix로 접두사가 붙어요. 이 경로 접두사는 Elasticsearch가 기본 경로를 제공하는 프록시나 모든 경로가 '/'로 시작해야 하는 프록시 뒤에 있을 때 유용하며, 그 외 목적으로는 사용되지 않아야 해요. | ||
| Read Timeout * | Read Timeout | 60000 | 응답을 기다릴 때 타임아웃이 발생하기 전의 시간(밀리초)을 제어해요. | |
| Run As User | Run As User | Elasticsearch 내에서 가장(impersonate)할 사용자 이름이에요. | ||
| SSL Context Service | SSL Context Service | TLS/SSL 연결에 대한 클라이언트 인증서 정보를 제공하는 데 사용되는 SSL Context Service예요. 이 서비스는 Elasticsearch 엔드포인트가 TLS/SSL로 보호된 경우에만 적용돼요. | ||
| Send Meta Header * | Send Meta Header | true | true, false | 런타임 환경을 설명하는 'X-Elastic-Client-Meta' 헤더를 보낼지 여부예요. User-Agent에서 찾을 수 있는 것과 유사한 정보를 포함해요. 별도의 헤더를 사용하면 애플리케이션은 User-Agent를 자체 목적(예: 애플리케이션 버전이나 다른 환경 정보 식별)에 사용할 수 있어요. |
| Sniff Cluster Nodes * | Sniff Cluster Nodes | false | true, false | Elasticsearch 노드 정보 API를 통해 Elasticsearch 클러스터 내의 노드를 주기적으로 스니핑해요. Elasticsearch 보안 기능이 활성화된 경우(8.x+의 기본 'true'), Elasticsearch 사용자는 이 API를 사용하려면 'monitor' 또는 'manage' 클러스터 권한이 있어야 해요. 참고로 모든 HTTP 호스트(및 Sniffer를 통해 클러스터 내에서 발견될 수 있는 호스트)는 동일한 프로토콜(예: http 또는 https)을 사용하고 동일한 클라이언트 설정으로 접촉 가능해야 해요. 마지막으로 Elasticsearch 'network.publish_host'는 'network.bind_host' 목록 항목 중 하나와 일치해야 해요. 자세한 내용은 https://www.elastic.co/guide/en/elasticsearch/reference/current/modules-network.html 을 참조하세요. |
| Sniff on Failure * | Sniff on Failure | false | true, false | 실패 시 스니핑을 활성화해요. 각 실패 후 Elasticsearch 노드 목록이 다음 일반 스니핑 라운드를 기다리는 대신 즉시 업데이트된다는 뜻이에요. |
| Sniffer Failure Delay * | Sniffer Failure Delay | 1 min | Elasticsearch 요청 실패와 Sniffer를 사용한 사용 가능한 클러스터 노드 업데이트 사이의 지연이에요. | |
| Sniffer Interval * | Sniffer Interval | 5 mins | 클러스터 스니퍼 작업 사이의 간격이에요. | |
| Sniffer Request Timeout * | Sniffer Request Timeout | 1 sec | 노드 정보 요청에 대한 클러스터 스니퍼 타임아웃이에요. | |
| Strict Deprecation * | Strict Deprecation | false | true, false | REST 클라이언트가 경고 헤더를 하나 이상 포함하는 모든 응답을 실패로 반환할지 여부예요. |
| Suppress Null and Empty Values * | Suppress Null and Empty Values | always-suppress | Never Suppress, Always Suppress | writer가 null 및 빈 필드(객체와 배열 포함)를 처리하는 방법을 지정해요. |
| Username * | Username | XPack 보안과 함께 사용할 사용자 이름이에요. | ||
| Proxy Configuration Service | proxy-configuration-service | 네트워크 요청을 프록시할 Proxy Configuration Controller Service를 지정해요. |
상태 관리 (State management)
이 컴포넌트는 상태를 저장하지 않아요.
제한 (Restricted)
이 컴포넌트는 제한되지 않아요.
시스템 리소스 고려 사항 (System Resource Considerations)
이 컴포넌트는 시스템 리소스 고려 사항을 지정하지 않아요.