Creating MQTT Input Data Source

The MQTT connector allows:

  • Connection to MQTT’s message bus on a real-time streaming basis.
  • Panopticon Streams to subscribe to FIX, JSON, Text or XML based messages that are published on particular topics. The data format itself is arbitrary, and consequently, the connection includes the message definition.
  • Encrypted/SSL/TLS connections using a CA certificate file, Client Certificate File, and Client Key File.

 

  1. In the New Data Source page, select Input > MQTT in the Connector drop-down list.
  2. Enter the following information:
    Property Description

    Broker URL

    The location of the message broker. Default is tcp://localhost:1883.

    Topic

    The topic or the queue physical name.

    Example:

    level1/level2/level3/level4 etc.

    NOTES:

    You can also opt to use a wild card in the topic name specification.

    • The plus sign symbol (+) can be used as a wild card for any value at one specific level.

      Example: level1/level2/+/level4

    • The hash sign symbol (#) can be used as a wild card for any values across more than one level.

      Example: level1/#/level4

    User Id

    The user Id that will be used to connect to MQTT.

    Password

    The password that will be used to connect to MQTT.

     

  3. To allow encrypted connections, you can either:
    • Upload a CA Certificate file by clicking Upload File  then Browse  to browse to the file source.

      After selecting the file, it is displayed with the timestamp.

      To change the certificate, click  then Browse  to browse to a new version of the file.

    • Link to a CA Certificate file by clicking Link to File  and entering a File Path.
  4. In MQTT, a topic consists of one or more topic levels. Enter the Topic Level Separator to use. Default is / (forward slash).
  5. Select the Message Type.
  6. Select either the period (.) or comma (,) as the Decimal Separator.

    NOTE: Prepend 'default:' for the elements falling under default namespace.

  7. Click  to the fetch the schema based on the connection details. This populates the list
    of columns with the data type found from inspecting the first ‘n’ rows of the input data source.
  8. You can also opt to load or save a copy of the column definition.
  9. You can also opt to click to add columns to the MQTT connection that represent sections of the message. Then enter or select:
    Property Description

    Name

    The column name of the source schema.

    XPath/JsonPath/Fix Tag/Column Index

    The XPath/JsonPath/Fix Tag/Column Index of the source schema.

    Type

    The data type of the column. Can be a Text, Numeric, or Time.

    Date Format

    The format when the data type is Time.

    NOTE:

    To parse and format times with higher than millisecond precision, the format string needs to end with a period followed by sequence of upper case S. There can be no additional characters following them.

    For example: yyyy-MM-dd HH:mm:ss.SSSSSS

    Filter

    Defined parameters that can be used as filter. Only available for JSON, Text, and XML message types.

    Enabled

    Determines whether the message field should be processed.

    To delete a column, check its  or all the column entries, check the topmost , then click .

  10. Text for topic levels can be consumed as additional columns into the data table.

    The Topic Columns section shows and allows defining data table columns and mapping them to topic hierarchy levels (index based from left, 0 based).

    Like columns from message data, manually add them by clicking . A new entry displays.

    Name can be any unique topic level within the topic name. The Level is the hierarchy level of the topic column.

    Select the Enabled checkbox to enable a topic column.

    To delete a topic column, check its  or all the topic column entries, check the topmost , then click .

  11. Define the Real-time Settings.
  12. Click  . The new data source is added in the Data Sources list.

 

 

(c) 2013-2024 Altair Engineering Inc. All Rights Reserved.

Intellectual Property Rights Notice | Technical Support