RabbitMQ

The RabbitMQ output in ArcGIS Velocity allows you to send messages to an externally accessible RabbitMQ broker. For real-time analytics, a message is sent to RabbitMQ for each output feature sent to the output. For big data analytics, after processing completes, all messages are sent to RabbitMQ, with one message for each record.

Learn more about RabbitMQ.

Examples

The following are example use cases for the output:

  • An analyst configures a real-time analytic to process and analyze events ingested by a feed and sends the resulting features to a RabbitMQ broker.
  • After performing analysis in a big data analytic, a researcher wants to send the output spatial or tabular features to a RabbitMQ broker.

Usage note

The RabbitMQ broker must be externally accessible on the internet.

Parameters

The following are the parameters for the output:

ParameterDescriptionData type
Host

The host name of the RabbitMQ broker.

String

Port

The port on which the RabbitMQ broker is available.

Integer

Use SSL

Specifies if SSL is used in the connection.

Boolean

Virtual Host (optional)

The virtual host of the RabbitMQ broker.

Username (optional)

The username for the RabbitMQ broker.

Note:

This parameter is necessary if the RabbitMQ queue specified is secured.

String

Password (optional)

The password for the RabbitMQ broker.

Note:

This parameter is necessary if the RabbitMQ queue specified is secured.

Password

Exchange Name (optional)

The exchange name the RabbitMQ output is connected to. The output can connect to either an exchange or a queue.

If both are specified, the exchange is used.

String

Exchange Type

Specifies the RabbitMQ AMQP exchange type. The options are as follows:

  • None—No defined routing mechanism is selected so messages are not directed to any specific queue.
  • Direct—Routes messages to queues that have a matching routing key.
  • Fanout—Routes messages to all queues bound to the exchange, regardless of the routing keys.
  • Topic—Routes messages to queues based on wildcard matches of routing keys.

String

Declare the exchange

Specifies if the exchange is declared. In other words, an exchange to be declared refers to creating and defining an exchange for routing messages to queues based on specific rules. The options are as follows:

  • True—The exchange is declared. If the exchange already exists, choose the same exchange type and durability.
  • False—The exchange is not declared; the exchange must already exist.

Boolean

Exchange Durability

Specifies if the exchange survives a restart.

Boolean

Routing Key (optional)

A comma-separated list of keys or topics used to bind a queue to the direct or topic exchange.

String

Queue Name (optional)

Specifies the queue to which the RabbitMQ output is connected. The output can connect to either an exchange or a queue.

If both are specified, the exchange is used.

String

Declare the Queue

Specifies if the queue is declared. The options are as follows:

  • True—The queue is declared. If the queue already exists, choose the same queue attributes.
  • False—The queue is not declared; it must already exist.

Boolean

Queue Durability

Specifies if the queue survives a restart.

Boolean

Queue AutoDelete

Specifies if the server deletes the queue when no longer in use.

Boolean

Queue Exclusive

Specifies if the queue is restricted to this connection.

Boolean