MQTT Document Producer


This Snap was not developed by the SnapLogic product team. As such, this documentation may not exactly match your version of this Snap and is provided strictly as a reference.


Snap type:

Write


Description:

This Snap provides a convenient means for publishing JSON or String messages to a topic on an MQTT message broker.


Prerequisites:

[None]


Support and limitations:Works in Ultra Task Pipelines.
Account: 
  • This Snap uses account references created on the Accounts page of SnapLogic Manager to handle access to this endpoint. See MQTT Account for information on setting up this type of account.


Views:
InputThis Snap has exactly one document input view.
OutputThis Snap has no output view.
ErrorThis Snap has at most one binary error view.

Settings

Label



Required. The name for the Snap. You can modify this to be more specific, especially if you have more than one of the same Snap in your pipeline.

Topic



Required. A topic on the MQTT broker.
This can be a literal value or an expression which will be evaluated per document.

Default value: [None]


Payload


Required. This can be a literal value or an expression which will be evaluated per document.  If the evaluated value is a map or list, a JSON document will be published.  To publish each entire incoming document, you would specify the document root ($).  To publish a portion of each incoming document, you would specify that portion by designating this field as an expression and selecting that portion from your upstream schema.

Default value: [None]


QoS


Required. An expression or literal value which must be able to be resolved as an integer with a value of 0, 1, or 2.   

The MQTT protocol provides three qualities of service for delivering messages between clients and servers: "at most once", "at least once" and "exactly once".

Quality of service (QoS) is an attribute of an individual message being published. 


A subscribing client can set the maximum quality of service a server uses to send messages that match the client subscriptions. The QoS of a message forwarded to a subscriber thus might be different to the QoS given to the message by the original publisher. The lower of the two values is used to forward a message.

  • 0, At most once: The message is delivered at most once, or it may not be delivered at all. Its delivery across the network is not acknowledged. The message is not stored. The message could be lost if the client is disconnected, or if the server fails. QoS0 is the fastest mode of transfer. It is sometimes called "fire and forget".
    The MQTT protocol does not require servers to forward publications at QoS0 to a client. If the client is disconnected at the time the server receives the publication, the publication might be discarded, depending on the server implementation.
  • 1, At least once: The message is always delivered at least once. It might be delivered multiple times if there is a failure before an acknowledgment is received by the sender. The message must be stored locally at the sender, until the sender receives confirmation that the message has been published by the receiver. The message is stored in case the message must be sent again.
  • 2, Exactly once: The message is always delivered exactly once. The message must be stored locally at the sender, until the sender receives confirmation that the message has been published by the receiver. The message is stored in case the message must be sent again. QoS2 is the safest, but slowest mode of transfer. A more sophisticated handshaking and acknowledgement sequence is used than for QoS1 to ensure no duplication of messages occurs.

Default value: [None]


Retain


Required. True (selected) indicates that the MQTT server should retain a copy of the message. The message will then be transmitted to new subscribers to a topic that matches the message topic.

False (not selected) indicates that this message should not be retained by the MQTT server.

Default value: Not selected


Snap Execution

Select one of the three modes in which the Snap executes. Available options are:

  • Validate & Execute: Performs limited execution of the Snap, and generates a data preview during Pipeline validation. Subsequently, performs full execution of the Snap (unlimited records) during Pipeline runtime.
  • Execute only: Performs full execution of the Snap during Pipeline execution without generating preview data.
  • Disabled: Disables the Snap and all Snaps that are downstream from it.