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, and whether a property supports the NiFi Expression Language.

Display NameAPI NameDefault ValueAllowable ValuesDescription
Exchange NameExchange 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 KeyRouting 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)
Header Separatorheader.separator,The character that is used to split key-value for headers. The value must only one character. Otherwise you will get an error message
BrokersBrokersA comma-separated list of known AMQP Brokers in the format <host>:<port> (e.g., localhost:5672). If this is set, Host Name and Port are ignored. Only include hosts from the same AMQP cluster.
Supports Expression Language: true (will be evaluated using variable registry only)
Host NameHost NamelocalhostNetwork address of AMQP broker (e.g., localhost). If Brokers is set, then this property is ignored.
Supports Expression Language: true (will be evaluated using variable registry only)
PortPort5672Numeric value identifying Port of AMQP broker (e.g., 5671). If Brokers is set, then this property is ignored.
Supports Expression Language: true (will be evaluated using variable registry only)
Virtual HostVirtual HostVirtual Host name which segregates AMQP system for enhanced security.
Supports Expression Language: true (will be evaluated using variable registry only)
User NameUser NameUser Name used for authentication and authorization.
Supports Expression Language: true (will be evaluated using variable registry only)
PasswordPasswordPassword used for authentication and authorization.
Sensitive Property: true
AMQP VersionAMQP Version0.9.1
  • 0.9.1
AMQP Version. Currently only supports AMQP v0.9.1.
SSL Context Servicessl-context-serviceController Service API:
SSLContextService
Implementations: StandardRestrictedSSLContextService
StandardSSLContextService
The SSL Context Service used to provide client certificate information for TLS/SSL connections.
Use Client Certificate Authenticationcert-authenticationfalse
  • true
  • false
Authenticate using the SSL certificate rather than user name/password.
Client Authssl-client-authNONE
  • WANT
  • REQUIRED
  • NONE
The property has no effect and therefore deprecated.

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.