The Azure Injector module provides the ability to push Tag data to an Azure IoT Hub.  The settings configuration for this module are located under the Configure tab of the Ignition Gateway web UI.                                                                      


Once in the configuration section there are four tabs: General, Azure IoT Hubs, Sets, and Tag Agents.  Each of these tabs is described in detail in the following sections.

General

The first tab contains the general settings for the Azure Injector module.

The general configurations options available on this tab are listed below:

Main

  • Enabled
    • Sets whether the module is enabled or disabled.  If disabled, the Tag Agents will not run and now data will be pushed to any configured endpoints.


Azure IoT Hubs

The next tab is the list of Azure IoT Hub endpoints that the module should connect to to push tag data.

One or more Azure IoT Hub endpoints can be configured on this tab. The configuration options for an Azure IoT Hub connection are listed below.

Main

  • Setting Name
    • This is a friendly name of the Azure IoT Hub used to easily identify it.  This must also be unique.
  • Connection String
    • This is the Azure IoT Hub connection string used to connect.  This string can be one of the following:
      • An IoT Hub connection string with the following format:
        • HostName=<Host Name>;SharedAccessKeyName=<Key Name>;SharedAccessKey=<SAS Key>
      • An IoT Hub's Event Hub-compatible connection string with the following format:
        • Endpoint=<ENDPOINT>;SharedAccessKeyName=<Key Name>;SharedAccessKey=<KEYVALUE>
      • An IoT Hub device connection string with the following format:
        • HostName=<Host Name>;DeviceId=<Device Name>;SharedAccessKey=<Device Key>
        • Note: If using MQTT as the protocol (next section), this is the connection string format that must be used.
  • Protocol
    • The protocol to use when connecting to the Azure IoT Hub.  It can be one of the following: 
      • MQTT
        • Note: If using MQTT as the protocol, the connection string (previous section) must be a 'device' connection string.
      • HTTPS
      • AMQPS
      • AMQPS_WS
  • Set
    • The Set to associate this Azure IoT Hub connection with.
  • Certificates
    • The server certificates to use if required.

Store & Forward

  • Store & Forward Enabled
    • Whether to enable Store & Forward capbilities for this endpoint
  • Store & Forward Type
    • The type of the Store & Forward mechanism
  • Message Capacity
    • The Maximum number of messages to store before dropping the oldest historical messages
  • Flush Period
    • The period of time to wait (in milliseconds) between sending when flushing messages

Clicking on the "Create new Azure IoT Hub Setting..." link will bring up the following form for adding a new Azure IoT Hub endpoint.

Sets

The Sets tab contains a list of Azure Sets.  Each set represents a grouping of Azure IoT Hub endpoints.  When a set is referenced by a Tag Agent the Agent will push Tag data to all Azure IoT Hub endpoints contained within that Set. The Sets are disjoint, meaning that a single Azure IoT Hub endpoint cannot be in more than one set.  Out of the box the Azure Injector module will have one "Default" set defined.

Additional Sets can be configured for situations where multiple Tag Agents will need to push to different Azure IoT Hub endpoints. The configuration options for Sets are listed below.

Main

  • Name
    • This is the friendly name of the set used to easily identify it.
  • Description
    • This is a friendly description of the set.

Clicking on the 'Create new Azure Set...' link will bring up the following form to add a new Set.

Tag Agents

Tag Agents are the workers within Azure Injector that monitor tag events, convert them to a JSON representation, and push them to one or more Azure IoT Hub endpoints. Out of the box the Azure Injector module will have one "default" Tag Agent defined.

Tag Agents are configured to point to a single folder.  All Tags within that folder will be monitored by the Tag Agent. 

Agent Settings

  • Tag Provider Name
    • The name of the Tag provider containing the tags.
  • Tag Path
    • An optional folder path under the Tag provider where the root folder of the Tags can be found.
  • Tag Pacing Period
    • The buffer period, in milliseconds, that Tag events will be aggregated into a single payload before pushing.
  • Convert UDTs
    • Whether to convert UDT members to normal Tags before publishing.  If enabled the Tags representing the UDT member will retain their member path prefixed by the UDT Instance name.
  • Set
    • The Set of Azure IoT Hub endpoints that the Tag Agent will push to.
  • Auto-discover Tags
    • Whether newly added tags should be dynamically scanned and their values pushed.  This field is disabled by default.  It should remain disabled while manually editing tags and/or their configurations. It should only typically be enabled in systems where tags are created in real time.

Sparkplug Settings

  • Group ID
    • An ID representing a logical grouping of MQTT Edge Of Network (EoN) Nodes and Devices into the infrastructure.
  • Edge Node ID
    • An ID that uniquely identifies the MQTT Edge Of Network (EoN) Node within the infrastructure.
  • Device ID
    • An optional ID that uniquely identifies a Device within the infrastructure.


The Sparkplug settings are optional and allow for an additional customization of how the Tag Agent scans and discovers tag within the specified Tag Path.  Here is a brief description of how the Agent scans/discovers folders based on the different combinations of potential Sparkplug Settings.

  • If all three IDs are left blank the Agent will assume the following folder structures follow the Tag Path:
    • <groupFolder>/<edgeNodeFolder>/<deviceFolder>/<tags>
    • <groupFolder>/<edgeNodeFolder>/<tags>
  • If only the Group ID is specified the Agent will assume the following folder structure follows the Tag Path:
    • <edgeNodeFolder>/<deviceFolder>/<tags>
    • <edgeNodeFolder>/<tags>
  • If the Group ID and the Edge Node ID are specified the Agent will assume the following folder structure follows the Tag Path:
    • <deviceFolder>/<tags>
    • <tags>
  • If the Group ID, Edge Node ID, and the Device ID are specified the Agent will assume the following folder structure follows the Tag Path:
    • <tags>

As you can see, the Sparkplug settings can be used to either hard-code these IDs, or leave them blank so that the Agent will scan and discover them based on the tag tree layout. 

Clicking on the 'Create new Tag Agent Settings..' link will bring up the following form to add a new Tag Agent.

  • No labels