PublishAMQP

Description:

Creates an AMQP Message from the contents of a FlowFile and sends the message to an AMQP Exchange. In a typical AMQP exchange model, the message that is sent to the AMQP Exchange will be routed based on the 'Routing Key' to its final destination in the queue (the binding). If due to some misconfiguration the binding between the Exchange, Routing Key and Queue is not set up, the message will have no final destination and will return (i.e., the data will not make it to the queue). If that happens you will see a log in both app-log and bulletin stating to that effect, and the FlowFile will be routed to the 'failure' relationship.

Additional Details...

Tags:

amqp, rabbit, put, message, send, publish

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, whether a property supports the NiFi Expression Language, and whether a property is considered "sensitive", meaning that its value will be encrypted. Before entering a value in a sensitive property, ensure that the nifi.properties file has an entry for the property nifi.sensitive.props.key.

NameDefault ValueAllowable ValuesDescription
Exchange NameThe name of the AMQP Exchange the messages will be sent to. Usually provided by the AMQP administrator (e.g., 'amq.direct'). It is an optional property. If kept empty the messages will be sent to a default AMQP exchange.
Supports Expression Language: true (will be evaluated using flow file attributes and variable registry)
Routing KeyThe name of the Routing Key that will be used by AMQP to route messages from the exchange to a destination queue(s). Usually provided by the administrator (e.g., 'myKey')In the event when messages are sent to a default exchange this property corresponds to a destination queue name, otherwise a binding from the Exchange to a Queue via Routing Key must be set (usually by the AMQP administrator)
Supports Expression Language: true (will be evaluated using flow file attributes and variable registry)
Host NamelocalhostNetwork address of AMQP broker (e.g., localhost)
Supports Expression Language: true (will be evaluated using variable registry only)
Port5672Numeric value identifying Port of AMQP broker (e.g., 5671)
Supports Expression Language: true (will be evaluated using variable registry only)
Virtual HostVirtual Host name which segregates AMQP system for enhanced security.
Supports Expression Language: true (will be evaluated using variable registry only)
User NameguestUser Name used for authentication and authorization.
Supports Expression Language: true (will be evaluated using variable registry only)
PasswordguestPassword used for authentication and authorization.
Sensitive Property: true
AMQP Version0.9.1
  • 0.9.1
AMQP Version. Currently only supports AMQP v0.9.1.
SSL Context ServiceController Service API:
SSLContextService
Implementations: StandardRestrictedSSLContextService
StandardSSLContextService
The SSL Context Service used to provide client certificate information for TLS/SSL connections.
Use Certificate Authenticationfalse
  • true
  • false
Authenticate using the SSL certificate common name rather than user name/password.
Client AuthREQUIRED
  • WANT
  • REQUIRED
  • NONE
Client authentication policy when connecting to secure (TLS/SSL) AMQP broker. Possible values are REQUIRED, WANT, NONE. This property is only used when an SSL Context has been defined and enabled.

Relationships:

NameDescription
successAll FlowFiles that are sent to the AMQP destination are routed to this relationship
failureAll FlowFiles that cannot be routed to the AMQP destination are routed to this relationship

Reads Attributes:

NameDescription
amqp$appIdThe App ID field to set on the AMQP Message
amqp$contentEncodingThe Content Encoding to set on the AMQP Message
amqp$contentTypeThe Content Type to set on the AMQP Message
amqp$headersThe headers to set on the AMQP Message
amqp$deliveryModeThe numeric indicator for the Message's Delivery Mode
amqp$priorityThe Message priority
amqp$correlationIdThe Message's Correlation ID
amqp$replyToThe value of the Message's Reply-To field
amqp$expirationThe Message Expiration
amqp$messageIdThe unique ID of the Message
amqp$timestampThe timestamp of the Message, as the number of milliseconds since epoch
amqp$typeThe type of message
amqp$userIdThe ID of the user
amqp$clusterIdThe ID of the AMQP Cluster

Writes Attributes:

None specified.

State management:

This component does not store state.

Restricted:

This component is not restricted.

Input requirement:

This component requires an incoming relationship.

System Resource Considerations:

ResourceDescription
MEMORYAn instance of this component can cause high usage of this system resource. Multiple instances or high concurrency settings may result a degradation of performance.