Skip to main content

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.

Tags

amqp, message, publish, put, rabbit, send

Properties

In the list below required Properties are shown with an asterisk (*). Other properties 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 Name *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, using FlowFile attributes and Environment variables.
Routing Key *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, using FlowFile attributes and Environment variables.
Headers Source *Headers SourceAMQP Headers Attribute
  • FlowFile Attributes
  • AMQP Headers Attribute
The source of the headers which will be applied to the published message.
Headers Pattern *Headers PatternRegular expression that will be evaluated against the FlowFile attributes to select the matching attributes and put as AMQP headers. Attribute name will be used as header key.

Supports Expression Language, using Environment variables.

This property is only considered if:
  • the property Headers Source has a value of FLOWFILE_ATTRIBUTES
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

This property is only considered if:
  • the property Headers Source has a value of AMQP_HEADERS_ATTRIBUTE
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, using Environment variables.
Host NameHost NamelocalhostNetwork address of AMQP broker (e.g., localhost). If Brokers is set, then this property is ignored.

Supports Expression Language, using Environment variables.
PortPort5672Numeric value identifying Port of AMQP broker (e.g., 5671). If Brokers is set, then this property is ignored.

Supports Expression Language, using Environment variables.
Virtual HostVirtual HostVirtual Host name which segregates AMQP system for enhanced security.

Supports Expression Language, using Environment variables.
User NameUser NameUser Name used for authentication and authorization.

Supports Expression Language, using Environment variables.
PasswordPasswordPassword used for authentication and authorization.
AMQP Version *AMQP Version0.9.1
  • 0.9.1
AMQP Version. Currently only supports AMQP v0.9.1.
SSL Context Servicessl-context-serviceController Service:
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.

Dynamic Properties

This component does not support dynamic properties.

Relationships

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

Reads Attributes

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

Writes Attributes

This processor does not write attributes.

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

ScopeDescription
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.

See Also