The MQTT feed type in ArcGIS Velocity subscribes to and consumes messages from an externally accessible Message Queuing Telemetry Transport (MQTT) broker. MQTT is a basic messaging protocol for publishing and subscription for constrained devices and low-bandwidth, high-latency, or unreliable networks. The design principles are to minimize network bandwidth and device resource requirements while ensuring reliability and assurance of delivery.
Learn more about MQTT protocol FAQ
Examples
The following are example use cases for the feed:
- A data analyst wants to ingest their sensor data through an MQTT broker.
- A transportation department configures an MQTT feed to consume vehicle positions and attribute information.
Usage notes
Keep the following in mind when working with the feed:
- For SSL/TLS broker connections, prefix the hostname with ssl://.
- For broker connections that are not SSL, prefix the host name with tcp://.
- After configuring feed connection parameters, configure input data to define the schema and the key parameters.
Parameters
The following are the parameters for the feed:
| Parameter | Description | Data type |
|---|---|---|
| Host | The host name of the MQTT broker. For SSL/TLS broker connections, prefix the host name with ssl://. For broker connections that are not SSL, prefix the host name with tcp://. | String |
| Port | The port of the MQTT broker. | Integer |
| Username (optional) | The username for the MQTT broker. This parameter is only used if the MQTT topic specified is secured. | String |
| Password (optional) | The password for the MQTT broker. This parameter is only used if the MQTT topic specified is secured. | Password |
| Client ID (optional) | The client ID Velocity uses to connect to the broker. Note:Many brokers require a unique client ID for every connected client. It is recommended that you not reuse the same client ID specified in other feeds or apps. If no client ID is specified, the running feed uses the item ID as the client ID. | String |
| Topic | The MQTT topic from which Velocity consumes messages. | String |
| Quality of Service level | Specifies the quality of service (QoS) level, which defines the guarantee of delivery for a specific message. The options are:
| Integer |
Consideration and limitation
Consider the following when using the feed:
The MQTT broker must be externally accessible on the internet.