MQTT

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.

For more information about MQTT, see the MQTT protocol FAQ.

Examples

The following are example uses of the MQTT 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 MQTT 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, see Configure input data to learn how to define the schema and the key parameters.

Parameters

The following are the parameters for the MQTT feed:

ParameterDescriptionData 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

The username for the MQTT broker.

This parameter is only used if the MQTT topic specified is secured.

String

Password

The password for the MQTT broker.

This parameter is only used if the MQTT topic specified is secured.

Password

Client ID

The client ID Velocity will use 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 will use the item ID as the client ID.

String

Topic

The MQTT topic from which Velocity will consume messages.

String

Quality of Service Level

Specifies the quality of service (QoS) level, which defines the guarantee of delivery for a specific message.

  • 0—At most once. The message is sent once and the client and broker take no additional steps to acknowledge delivery (fire and forget).
  • 1—At least once. The message is retried by the sender multiple times until acknowledgement is received (acknowledged delivery).
  • 2— Exactly once. The sender and receiver engage in a two-level handshake to ensure that only one copy of the message is received (assured delivery).

Integer

Considerations and limitations

The MQTT broker must be externally accessible on the internet.