HandleHttpRequest 프로세서

HandleHttpRequest 프로세서

Openflow의 HandleHttpRequest 프로세서는 HTTP 서버를 시작하고 HTTP 요청을 수신하는 프로세서예요. Web Service를 만들기 위해 HandleHttpResponse 프로세서와 함께 사용되도록 설계되었습니다.

출처: Snowflake 문서

본문

기능 — 일반 공급 (Generally Available)

Openflow Snowflake 배포는 AWS, Azure, GCP 상용(Commercial) 리전의 모든 계정에서 사용할 수 있어요. Openflow BYOC 배포는 AWS 상용 리전의 모든 계정에서 사용할 수 있습니다.

Bundle

org.apache.nifi | nifi-standard-nar

설명

HTTP 서버를 시작하고 HTTP 요청을 수신합니다. 각 요청에 대해 FlowFile을 생성하고 'success'로 전송합니다. 이 프로세서는 Web Service를 만들기 위해 HandleHttpResponse 프로세서와 함께 사용되도록 설계되었습니다. multipart 요청의 경우 각 파트에 대해 하나의 FlowFile이 생성됩니다.

태그

http, https, ingress, listen, request, web service

입력 요구사항

금지 (FORBIDDEN)

민감한 동적 속성 지원

false

속성

이름 설명
Additional HTTP Methods 허용해야 하는 비표준 HTTP 메서드의 쉼표로 구분된 목록입니다.
Allow DELETE HTTP DELETE 메서드를 허용합니다.
Allow GET HTTP GET 메서드를 허용합니다.
Allow HEAD HTTP HEAD 메서드를 허용합니다.
Allow OPTIONS HTTP OPTIONS 메서드를 허용합니다.
Allow POST HTTP POST 메서드를 허용합니다.
Allow PUT HTTP PUT 메서드를 허용합니다.
Allowed Paths 들어오는 URL 요청에서 허용되는 유효한 HTTP 경로를 지정하는 정규식입니다. 이 값이 지정되고 HTTP 요청의 경로가 이 정규식과 일치하지 않으면 프로세서는 404: NotFound로 응답합니다.
Client Authentication 프로세서가 클라이언트를 인증할지 여부를 지정합니다. 이 값은 SSL Context Service 속성이 지정되지 않았거나 제공된 SSL Context가 KeyStore만 사용하고 TrustStore를 사용하지 않는 경우 무시됩니다.
Default URL Character Set HTTP 요청이 문자 집합을 제공하지 않을 때 URL 매개변수를 디코딩하는 데 사용할 문자 집합입니다.
HTTP Context Map HTTP 요청 정보를 캐싱하는 데 사용할 HTTP Context Map 컨트롤러 서비스입니다.
HTTP Protocols TLS와의 Application Layer Protocol Negotiation을 위해 지원되는 HTTP 프로토콜입니다.
Hostname 바인딩할 호스트 이름입니다. 지정하지 않으면 모든 호스트에 바인딩됩니다.
Listening Port 들어오는 HTTP 요청을 수신할 포트입니다.
Maximum Threads 임베디드 HTTP 서버가 요청 처리에 사용할 최대 스레드 수입니다.
Request Header Maximum Size 이 프로세서로 전송된 요청의 HTTP 헤더 최대 지원 크기입니다.
SSL Context Service 서버를 보호하기 위해 사용할 SSL Context Service입니다. 지정하면 서버는 HTTPS 요청만 허용하고, 그렇지 않으면 HTTP 요청만 허용합니다.
container-queue-size Http Request Container 대기열의 크기입니다.
multipart-read-buffer-size 들어오는 파일의 콘텐츠가 디스크에 기록되는 임계 크기입니다. Content-Type이 multipart/form-data인 요청에만 적용됩니다. 서비스 거부 유형의 공격을 방지하고 힙 또는 디스크 공간이 가득 차는 것을 방지하는 데 사용됩니다.
multipart-request-max-size 요청의 최대 크기입니다. Content-Type이 multipart/form-data인 요청에만 적용되며, 서비스 거부 유형의 공격을 방지하고 힙 또는 디스크 공간이 가득 차는 것을 방지하는 데 사용됩니다.
parameters-to-attributes 속성으로 출력할 HTTP 매개변수 또는 폼 데이터의 쉼표로 구분된 목록입니다.

관계

이름 설명
success 수신된 모든 콘텐츠는 'success' 관계로 라우팅됩니다.

쓰기 속성

이름 설명
http.context.identifier HandleHttpRequest와 HandleHttpResponse가 어떤 FlowFile이 어떤 HTTP 요청/응답에 속하는지 조정할 수 있게 해주는 식별자입니다.
mime.type HTTP 헤더 "Content-Type"에 따른 데이터의 MIME 타입입니다.
http.servlet.path 요청 URL 중 Servlet Path로 간주되는 부분입니다.
http.context.path 요청 URL 중 Context Path로 간주되는 부분입니다.
http.method GET 또는 POST와 같이 요청에 사용된 HTTP 메서드입니다.
http.local.name 서버의 IP 주소/호스트 이름입니다.
http.server.port 서버의 수신 포트입니다.
http.query.string 요청 URL의 쿼리 문자열 부분입니다.
http.remote.host 요청자의 호스트 이름입니다.
http.remote.addr 요청자의 호스트 이름:포트 조합입니다.
http.remote.user 요청자의 사용자 이름입니다.
http.protocol 통신에 사용된 프로토콜입니다.
http.request.uri 전체 요청 URL입니다.
http.auth.type 사용된 HTTP Authorization 유형입니다.
http.principal.name 요청을 하는 인증된 사용자의 이름입니다.
http.query.param.XXX 요청의 각 쿼리 매개변수가 "http.query.param." 접두사와 함께 속성으로 추가됩니다.
http.param.XXX "Parameters to Attributes List"로 구성된 요청의 폼 매개변수가 "http.param." 접두사와 함께 속성으로 추가됩니다. 대용량 폼 매개변수를 넣는 것은 권장되지 않습니다.
http.subject.dn 요청자의 Distinguished Name입니다. 프로세서가 SSLContext Service를 사용하도록 구성되지 않은 경우 이 값은 채워지지 않습니다.
http.issuer.dn Subject의 인증서를 발급한 엔터티의 Distinguished Name입니다. 프로세서가 SSLContext Service를 사용하도록 구성되지 않은 경우 이 값은 채워지지 않습니다.
http.certificate.sans.N.name mutual TLS 인증에서 가져온 X.509 클라이언트 인증서 Subject Alternative Name 값입니다. 속성 이름은 클라이언트 인증서 내용에 따라 0부터 시작하는 인덱스를 가집니다.
http.certificate.sans.N.nameType mutual TLS 인증에서 가져온 X.509 클라이언트 인증서 Subject Alternative Name 유형입니다. RFC 3280 섹션 4.1.2.7의 General Names 중 하나입니다.
http.headers.XXX 요청에서 수신된 각 HTTP 헤더가 "http.headers." 접두사와 함께 속성으로 추가됩니다. 예를 들어 요청에 "x-my-header"라는 HTTP 헤더가 있으면 값이 "http.headers.x-my-header"라는 속성에 추가됩니다.
http.headers.multipart.XXX multipart 요청에서 수신된 각 HTTP 헤더가 "http.headers.multipart." 접두사와 함께 속성으로 추가됩니다. 예를 들어 multipart 요청에 "content-disposition"라는 HTTP 헤더가 있으면 값이 "http.headers.multipart.content-disposition"라는 속성에 추가됩니다.
http.multipart.size Content-Type이 "multipart/form-data"인 요청의 경우 파트의 콘텐츠 크기가 이 속성에 기록됩니다.
http.multipart.content.type Content-Type이 "multipart/form-data"인 요청의 경우 파트의 콘텐츠 유형이 이 속성에 기록됩니다.
http.multipart.name Content-Type이 "multipart/form-data"인 요청의 경우 파트의 이름이 이 속성에 기록됩니다.
http.multipart.filename Content-Type이 "multipart/form-data"인 요청에서 파트에 업로드된 파일이 포함된 경우 파일 이름이 이 속성에 기록됩니다. 파일은 "java.io.File" Java 문서에 명시된 기본 임시 파일 디렉터리에 임시로 저장됩니다.
http.multipart.fragments.sequence.number Content-Type이 "multipart/form-data"인 요청의 경우 파트의 인덱스가 이 속성에 기록됩니다. 인덱스는 1부터 시작합니다.
http.multipart.fragments.total.number Content-Type이 "multipart/form-data"인 요청의 경우 모든 파트의 수가 이 속성에 기록됩니다.

참고 항목

  • org.apache.nifi.processors.standard.HandleHttpResponse

더 알아보기 (Learn more)