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.
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 notes
Keep the following in mind when working with the output:
- The RabbitMQ broker must be externally accessible on the internet.
- The following output data formats are supported:
- GeoJSON
- EsriJSON
- Delimited
- JSON
- XML
Parameters
The following are the parameters for the output:
| Parameter | Description | Data 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. Choose one of the following options:
| String |
| Declare the exchange | Specifies if the exchange is declared. A declared exchange refers to creating and defining an exchange that routes messages to queues based on specific rules. Choose one of the following options:
The default is False. | Boolean |
| Exchange durability | Specifies if the exchange remains after 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. Choose one of the following options:
The default is False. | Boolean |
| Queue durability | Specifies if the queue remains after a restart. | Boolean |
| Queue auto-delete | 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 |
| Output data format | The format for outgoing messages. The following are the supported output data formats:
| String |
Write header row | Specifies whether the files write out the header row with field names. The default is false. | Boolean |
Field delimiter | The field delimiter used by the file to separate fields. The default is comma (,). | String |