ConsumeGCPubSub 프로세서
ConsumeGCPubSub 프로세서
이 문서는 Snowflake OpenFlow의 ConsumeGCPubSub 프로세서에 대한 참조 문서예요. Google Cloud PubSub 구독에서 메시지를 소비하고, 설정에 따라 각 메시지를 별도 FlowFile로 만들거나 여러 메시지를 하나의 FlowFile로 묶어요.
출처: Snowflake 문서
본문
기능 — 일반 제공 (Generally Available)
Openflow Snowflake 배포는 AWS, Azure, GCP Commercial 리전의 모든 계정에서 사용할 수 있어요.
Openflow BYOC 배포는 AWS Commercial 리전의 모든 계정에서 사용할 수 있어요.
번들 (Bundle)
| 그룹 | NAR |
|---|---|
| org.apache.nifi | nifi-gcp-nar |
설명 (Description)
구성된 Google Cloud PubSub 구독에서 메시지를 소비해요. 'Batch Size' 속성은 단일 요청에서 구독으로부터 가져올 최대 메시지 수를 지정해요. 'Processing Strategy' 속성은 각 메시지를 별도의 FlowFile로 만들지, 아니면 메시지들을 하나의 FlowFile로 묶을지를 지정해요. Demarcator 전략은 형식이 허용할 때 최상의 처리량을 제공해요. Record를 사용하면 데이터 형식을 변환하고 스키마를 강제할 수도 있어요. FlowFile 전략을 사용하면 메시지마다 하나의 FlowFile을 생성하고 메시지의 속성을 FlowFile 속성으로 가져요.
태그 (Tags)
consume, gcp, google, google-cloud, message, pubsub
입력 요구사항 (Input Requirement)
FORBIDDEN
민감한 동적 속성 지원 (Supports Sensitive Dynamic Properties)
아니요 (false)
속성 (Properties)
| 속성 | 설명 |
|---|---|
| GCP Credentials Provider Service | Google Cloud Platform 자격 증명을 얻는 데 사용하는 Controller Service예요. |
| Message Demarcator | PubSub 클라이언트는 배치로 메시지를 받으므로 이 프로세서에는 단일 배치의 모든 메시지를 담은 FlowFiles를 출력하는 옵션이 있어요. 이 속성을 사용하면 여러 메시지를 구분하는 데 사용할 문자열(UTF-8로 해석)을 제공할 수 있어요. 'new line' 같은 특수 문자를 입력하려면 OS에 따라 CTRL+Enter 또는 Shift+Enter를 사용해요. |
| Output Strategy | Kafka Record를 FlowFile Record로 출력하는 데 사용하는 형식이에요. |
| Processing Strategy | PubSub Records를 처리하고 직렬화된 출력을 FlowFiles로 작성하는 전략이에요. |
| Record Reader | 수신 메시지에 사용할 Record Reader예요. |
| Record Writer | 출력 FlowFiles를 직렬화하는 데 사용할 Record Writer예요. |
| api-endpoint | gRPC 엔드포인트를 [host:port] 형식으로 재정의해요. |
| gcp-project-id | Google Cloud Project ID예요. |
| gcp-pubsub-publish-batch-size | 클라우드 서비스가 하나의 배치로 묶어야 하는 메시지 수를 나타내요. 설정하지 않고 비워 두면 배치에 메시지가 하나만 사용돼요. |
| gcp-pubsub-subscription | Google Cloud Pub/Sub Subscription의 이름이에요. |
| proxy-configuration-service | 네트워크 요청을 프록시할 Proxy Configuration Controller Service를 지정해요. |
관계 (Relationships)
| 이름 | 설명 |
|---|---|
| success | Google Cloud Pub/Sub 작업이 성공한 후 FlowFiles가 이 관계로 라우팅돼요. |
기록하는 속성 (Writes attributes)
| 이름 | 설명 |
|---|---|
| gcp.pubsub.ackId | 소비된 Google Cloud PubSub 메시지의 Acknowledgement ID예요. |
| gcp.pubsub.messageSize | 소비된 Google Cloud PubSub 메시지의 직렬화된 크기예요. |
| gcp.pubsub.attributesCount | 소비된 PubSub 메시지가 가진 속성 수예요(있는 경우). |
| gcp.pubsub.publishTime | 메시지가 게시된 시각의 타임스탬프예요. |
| gcp.pubsub.subscription | PubSub subscription의 이름이에요. |
| Dynamic Attributes | 나열된 속성 외에도, 원래 Google Cloud Publisher 클라이언트가 메시지 전송 중에 속성을 추가했다면 이 프로세서는 0개 이상의 속성을 기록할 수 있어요. |
참고 (See also)
org.apache.nifi.processors.gcp.pubsub.PublishGCPubSub