Release Notes > Release Notes Archive > ThingWorx Azure IoT Hub Connector 4.1.0 Release Notes
ThingWorx Azure IoT Hub Connector 4.1.0 Release Notes
The ThingWorx Azure IoT Hub Connector enables devices that are running agents developed using the Microsoft Azure IoT SDKs for Edge devices to interact with the ThingWorx Platform. As of this release, support is provided for communicating with ThingWorx Platform running in single-server mode and in High Availability Clustering mode, including when using the ThingWorx Azure Industrial Internet of Things (IIoT) OPC UA integration or not. In addition, support is provided for Java 11.
The ThingWorx Azure IoT Hub Connector itself includes the following components:
The core connection server and the Azure IoT Hub Protocol Adapter, configured to support Azure IoT Hubs, Azure IoT Edge Devices and Edge Modules, and Azure Blob Storage Containers connected to an Azure IoT Hub. For users of the ThingWorx Azure IIoT OPC UA integration the protocol adapter component translates messages from the OPC UA format into ThingWorx AlwaysOn format and vice versa.
An Azure IoT Hub Extension that must be imported into ThingWorx Platform to support Azure IoT entities. This extension provides entities to support Azure IoT Devices and Azure IoT Edge Devices, Azure IoT Edge Modules, an Azure IoT Hub, and Azure Blob Storage Containers. For the Azure OPC UA integration, it provides mashups to support the IIoT entities.
Another extension, called Connection Services Extension (CSE), manages communication between ThingWorx Platform and the Azure IoT Hub Connector.
Together, these components provide the following features:
Scalable connectivity between ThingWorx Platform and Azure IoT Hubs, Azure Blob Storage Containers, Azure IoT Devices and Edge Devices, and the Microsoft Azure IIoT Stack, OPC UA.
Horizontal scalability by adding instances of the ThingWorx Azure IoT Hub Connector and setting up partitions on each Azure IoT Hub to handle increased load. For more information on partitions for Azure IoT Hubs, refer to . Horizontal scaling enables the redundancy use case for any implementation.
* 
The Azure IIoT OPC UA integration requires a Publisher module on an IoT Edge Runtime device for each OPC UA Server. All messages from this Publisher module come from the same device, so all messages are sent to the same partition in the IoT Hub. They go through a single Azure IoT Hub Connector. Adding more than one Azure IoT Hub Connector does not help with horizontal scale if all of your data comes from one OPC UA Server. However, multiple Connectors can help if any of the following are true:
The customer has more than one OPC UA Publisher sending data.
Other devices are sending data through the IoT Hub in addition to the OPC UA Publisher.
A health check service, logging, and metrics collection enable you to monitor the health of the connection to the ThingWorx Platform in either single-server or clustering mode, as well as the traffic that the platform or cluster is handling. The logging feature provides detailed logs to help in troubleshooting.
Configuration file to tune settings for the Connector.
Security for connections to ThingWorx Platform and to Azure IoT.
All of these components are part of the distribution bundle for the Connector.
Security
This release of the ThingWorx Azure IoT Hub Connector includes security-related updates, as follows:
Fixed potential security issues, including items proactively identified by vulnerability scanning software or PTC Quality Assurance testing. Please upgrade as soon as possible to take advantage of these important improvements.
See this technical support article for important recommendations regarding the use and update of third-party software for ThingWorx.
ThingWorx Azure IoT Hub Connector Required Extension Versions for Release 4.1.0
The following table shows the required versions of the extensions for this release of the ThingWorx Azure IoT Hub Connector:
Component Versions
Extension
Version
Notes
ThingWorx Connection Services Extension (CSE)
2.2.3
This version of the CSE is required for use with the 4.1.0 release of the Connector and the 9.1 release of ThingWorx Platform.
ThingWorx Azure IoT Hub Connector Extension
4.1.0
This version of the Azure IoT Extension is required for version 4.1.0 of the Connector and v.9.1 of the platform
Additional Software Requirements
The following table lists the additional, required software for this release of the ThingWorx Azure IoT Hub Connector:
Required Product
Required Version
Java Development Kit (JDK)
* 
Oracle JDK 8 will move to "End-of_Life" in December 2020. It is strongly recommended that you perform a fresh install of a version of Java 11 and a fresh install of the Connector.
The compatible versions of the Java Development Kit for this release follow:
Oracle JDK 11
Amazon Corretto 11 (Open JDK)
Oracle JDK 8
* 
To use either supported version of Java 11, you must upgrade to Java 11 first and then it is strongly recommended to perform a fresh installation of the Connector.
ThingWorx Platform is only supported on 64-bit operating systems.
Linux 64-bit operating system or Windows 64-bit operating system
Tested on Linux 64-bit version of Ubuntu 18.04.2 LTS
ThingWorx Platform
9.1.0
If you are using the ThingWorx Azure IIoT OPC UA integration, you can find all the required software and versions in the table, Prerequisites, in the topic, Step 1. Required Resources, of the section, ThingWorx Azure IoT Hub Connector for IIoT OPC UA section in this help center.
What’s Changed in ThingWorx Azure IoT Hub Connector, v. 4.1.0
Release 4.1.0 of the ThingWorx Azure IoT Hub Connector adds support for connecting OPC UA servers that connect to the Microsoft Azure IIoT Microservices to a ThingWorx High Availability Clustering environment. In addition, it provides support for Oracle JDK 11 and Amazon Corretto 11 (OpenJDK 11).
* 
A change has been made in ThingWorx Platform v.9.0.3 that enables the Azure IoT Hub Connector 4.1.0 to work with that version of the platform when running in ThingWorx High Availability (HA) Clustering mode. If you are running in single-server mode, you can use the 4.1.0 Connector with versions 9.0.0 through 9.0.2. If you want to run the Connector with ThingWorx Platform in HA Clustering mode, make sure that you upgrade to v.9.0.3 when using the Azure IoT Hub Connector.
The following table describes the enhancements and issues fixed in this release:
ID (SFID)
Description
Support for ThingWorx High Availability (HA) Clustering (ThingWorx 9.1.0)
AZX-795
The ThingWorx Azure IoT Hub Connector has been updated to support ThingWorx High Availability (HA) Clustering in ThingWorx Platform v.9.1.0. This update includes support for HA mode when running the ThingWorx Microsoft IIoT OPC UA integration.
The Connector also supports ThingWorx Platform v.9.0.x in single-server or HA mode.
AZX-682
The Azure IoT Hub Connector Help Center has been updated for changes in the v.4.1.0 release to support ThingWorx HA Clustering in ThingWorx Platform v.9.1.0.
AZX-604
The ThingWorx Azure IoT Hub Connector supports ThingWorx Platform v.9.0.x in a ThingWorx High Availability Cluster or in single-server mode.
AZX-434
For security best practices, TLS is enabled by default between the Connector and instances of ThingWorx Platform in a ThingWorx HA cluster.
Support for Java 11
AZX-926
Added support for Oracle JDK 11 and Amazon Corretto 11 (OpenJDK 11) to the docker release.
AZX-924 and AZX-852
Added support for Oracle JDK 11 and Amazon Corretto 11 (OpenJDK 11).
Issues Fixed in This Release
AZX-1105 (15533534)
Unable to rename a file when using a SAS token instead of a Shared Access key to access the Azure Storage Account.
This issue is fixed in this release.
AZX-1062
The service, SetEndpointsCredentials has been moved to the ConnectionServicesHub Thing from the set of OPC UA-specific Services.
For more information about the Microsoft Azure IoT Hub features, refer to the Microsoft Azure IoT Hub developer guide at https://docs.microsoft.com/en-us/azure/guides/developer/azure-developer-guide.
Known Issues
The following table describes the known issues, and where possible, a workaround:
ID
Description
AZX-1205
When running in a ThingWorx High Availability Clustering environment, Industrial connections and Remote Things are disconnected when all the ThingWorx Platform instances are restarted.
WORKAROUND: After the ThingWorx Platform instances and the Ignite server are running again, restart the Azure IoT Hub Connector(s) to reconnect and rebind the Industrial connections and Remote Things. If you have multiple Connectors, restart all of them.
AZX-1085
When using the Microsoft Azure SQL database as the ThingWorx Persistence Provider in the ThingWorx Microsoft IIoT OPC UA integration, property bindings do not work. The cause of this issue is the limitation of index size on Microsoft Azure SQL.
The following error message in the ApplicationLog indicates that the ThingWorx AzureOpcUaPropertyMapDataTable data table is present and the index exceeds the Microsoft Azure SQL limitation on indexes:

Unable to add data table entry because com.thingworx.common.exceptions.DataAccessException: [1,018]
Data store unknown error: [Error occurred while accessing the data provider.] Unable to dispatch
[ uri = /Things/AzureOpcUaPropertyMapDataTable/Services/AddOrUpdateDataTableEntries/]:
Unable to Invoke Service AddOrUpdateDataTableEntries on AzureOpcUaPropertyMapDataTable :
java.lang.RuntimeException: com.thingworx.common.exceptions.DataAccessException: [1,018]
Data store unknown error: [Error occurred while accessing the data provider.]
WORKAROUND: Delete both indexes under configuration on the ThingWorx AzureOpcUaPropertyMapDataTable data table. This deletion requires that you restart the ThingWorx Platform for changes to take effect. For more complete information, refer to Troubleshooting the Azure IIoT OPC UA Integration.
AZX-3
Message ordering is not preserved for a single device.
Although messages are retrieved synchronously from the Azure Event Hub endpoint, messages are dispatched to ThingWorx Platform asynchronously, leading to potential out-of-order application.