Home

Awesome

Microsoft OPC Publisher and Azure Industrial IoT Platform

License: MIT Build Status

Discover, register and manage your OPC UA enabled Assets with Azure

Microsoft OPC Publisher and the optional Azure Industrial IoT Platform companion web service allow you to discover and operate OPC UA enabled industrial assets.

With OPC Publisher you can harness the power of OPC UA and Azure IoT. OPC Publisher is a fully compliant OPC UA PubSub telemetry publisher (supporting JSON, JSON+Gzip, and UADP binary encoding) and provides a large subset of the OPC UA services through its control plane. OPC Publisher is an Azure IoT Edge module that runs on on-premises. OPC Publisher API can be accessed via HTTP(s) (Preview), an MQTT Broker (Preview) or through Azure IoT Hub device methods.

The companion cloud service provided in this repository (Preview) with REST interface runs inside Azure App Service and provides a cloud side REST API to command the OPC Publisher at the edge. An easy-to-use deployment script guides you step-by-step through deploying the web service and its dependencies, as well as an optional simulation environment in Azure.

Microsoft provides pre-built Docker containers in the Microsoft Container Registry (MCR) for OPC Publisher and the other tools included in this repository.

Get started

Get support

Please report any security related issues by following our security process.

If you are an Azure customer, please create an Azure Support Request. More information can be found here. (Azure Support SLA applies).

Otherwise, please report bugs, feature requests, or suggestions as GitHub issues (No SLA available).

Supported releases and support policy

Our releases are tagged following semantic versioning (“semver”) conventions. Minor and patch releases do not break backwards compatibility. Releases not shown in the table (e.g., 2.4.x, 2.5.x, 2.6.x, or 2.7.x) are out of support already.

Release (tag)Last release (tag)End of supportSuccessor (tag)Update instructions
Industrial IoT 2.82.8.67/15/2023OPC Publisher 2.9Migration Path
OPC Publisher 2.82.8.712/15/2023OPC Publisher 2.9N/A
OPC Publisher 2.92.9.1111/10/2026TBAMigration Path

We only support the latest patch version of a release which per semantic versioning convention is identified by the 3rd part of the version string. Preview releases, preview and experimental features are only supported through GitHub issues.

If you are using a container image with a major.minor version tag that is supported per above table, but a patch version lower than the latest patch version, you need to update your images to the latest version to ensure secure operation and take advantage of the latest fixes. If you unexpectedly encounter bugs and require help, please ensure you are running the latest patch release as we might already have addressed the issue you are seeing. If you are not, please update first and try to reproduce the issue on the latest patch version.

Security-critical updates are made to the last patch version of the major.minor release containing the vulnerability. Bug fixes that are not security related are made only to the main branch and to the last supported release. The version the fix will be in can be found in the version.json file of the respective branch.

Our official Microsoft support and any related SLA only covers officially released docker containers obtained from MCR (Microsoft Container Registry) and deployed to Azure in Azure App Services (Web API container) or IoT Edge (OPC Publisher module container) using the documentation and deployment scripts provided as part of the latest release. Experimental and Preview features are excluded. Also, all Azure services deployed, the installed IoT Edge runtime, as well as Operating System and other middleware and combinations thereof must be officially supported as per their published support policy and SLA.

In all other cases, support is provided on a best effort basis through GitHub issues. We aim to release patch releases on a regular cadence (approximately every 1-2 months), so if you are blocked, and you can suggest or contribute fixes, the chances of getting it into the next patch release are high.

Contribute

This project has adopted the Microsoft Open Source Code of Conduct. For more information see the Code of Conduct FAQ or contact opencode@microsoft.com with any additional questions or comments.

If you want/plan to contribute, we ask you to sign a CLA (Contribution License Agreement) and follow the project 's code submission guidelines. A friendly bot will remind you about it when you submit a pull-request.

License

Copyright (c) Microsoft Corporation. All rights reserved. Licensed under the MIT License.