Description:

Starts a gRPC server and listens on the given port to transform the incoming messages into FlowFiles. The message format is defined by the standard gRPC protobuf IDL provided by NiFi. gRPC isn’t intended to carry large payloads, so this processor should be used only when FlowFile sizes are on the order of megabytes. The default maximum message size is 4MB.

Tags:

ingest, grpc, rpc, listen

Properties:

In the list below, the names of required properties appear in bold. Any other properties (not in bold) are considered optional. The table also indicates any default values.

Name

Default Value

Allowable Values

Description

Local gRPC Service Port

The local port that the gRPC service will listen on.
Use TLS false true
false
If to use TLS to send the contents of the gRPC messages.
SSL Context Service

Controller Service API: 


RestrictedSSLContextService

Implementation:


StandardRestrictedSSLContextService
The SSL Context Service used to provide client certificate information for TLS (https) connections.
Flow Control Window 1MB The initial HTTP/2 flow control window for both new streams and overall connection. Flow-control schemes ensure that streams on the same connection do not destructively interfere with each other. The default is 1MB.

Authorized DN Pattern

.* A Regular Expression to apply against the Distinguished Name of incoming connections. If the Pattern does not match the DN, the connection will be refused.
Maximum Message Size 4MB The maximum size of FlowFiles that this processor will allow to be received. The default is 4MB. If FlowFiles exceed this size, you should consider using another transport mechanism as gRPC isn't designed for heavy payloads.

Relationships:

Name`

Description

Success The FlowFile was received successfully.

Reads Attributes:

None specified.

Writes Attributes:

Name

Description

listengrpc.remote.user.dn The DN of the user who sent the FlowFile to this NiFi
listengrpc.remote.host The IP of the client who sent the FlowFile to this NiFi

State management:

This component does not store state.

Restricted:

This component is not restricted.

Input requirement:

This component does not allow an incoming relationship.