{"id":761,"date":"2020-11-20T13:53:51","date_gmt":"2020-11-20T13:53:51","guid":{"rendered":"http:\/\/opcconnect.integrationobjects.com\/?p=761"},"modified":"2026-02-26T10:05:09","modified_gmt":"2026-02-26T10:05:09","slug":"how-to-configure-opc-ua-iot-broker-to-publish-data-to-azure-iot-hub","status":"publish","type":"post","link":"https:\/\/integrationobjects.com\/blog\/how-to-configure-opc-ua-iot-broker-to-publish-data-to-azure-iot-hub\/","title":{"rendered":"How to Connect OPC UA to Azure IoT Hub Using an OPC UA IoT Broker"},"content":{"rendered":"\r\n<p>Our <a href=\"https:\/\/integrationobjects.com\/sioth-opc\/sioth-opc-unified-architecture\/opc-ua-iot-broker\/\">OPC UA IoT Broker<\/a> is an industrial middleware solution that enables OPC UA to Azure IoT Hub integration by collecting real-time data and alarms from OPC UA servers and publishing them securely to Microsoft Azure<\/p>\r\n<p><a href=\"https:\/\/integrationobjects.com\/sioth\/\"><strong>Look for more options to transfer Data to the Cloud? Check our our Smart IoT Highway -SIOTH\u00ae<\/strong><\/a><\/p>\r\n<p>Integration Objects\u2019 <strong>OPC UA IoT Broker<\/strong> is an innovative solution designed to collect real-time data and alarms &amp; events from OPC UA servers and publish those data to Microsoft Azure IoT Hub in a secure way.<\/p>\r\n\r\n\r\n\r\n<p>This tutorial provides a step-by-step procedure on how to publish data to Azure IoT Hub using <a href=\"https:\/\/integrationobjects.com\/sioth-opc\/sioth-opc-unified-architecture\/opc-ua-iot-broker\/\" target=\"_blank\" rel=\"noreferrer noopener\">OPC UA IoT Broker<\/a>.\u00a0The main steps are:<\/p>\r\n\r\n\r\n\r\n<p>1. Download and install the OPC UA IoT Broker<br \/>2. Configure the OPC UA IoT Broker to connect to the OPC UA Server<br \/>3. Configure the OPC UA IoT Broker to connect to Azure IoT hub<br \/>4. Configure a new mapping and start publishing data.<br \/>5. Monitor your data flow.<\/p>\r\n\r\n\r\n\r\n<p>These steps are detailed below:<\/p>\r\n\r\n\r\n\r\n<h2>1. Download and install OPC UA IoT Broker<\/h2>\r\n\r\n\r\n\r\n<p><em><i class=\"fa fa-caret-right\"> <\/i> Download the OPC UA IoT Broker from <a href=\"https:\/\/integrationobjects.com\/sioth-opc\/sioth-opc-unified-architecture\/opc-ua-iot-broker\/\"><span style=\"color: #3366ff;\">here<\/span><br \/><\/a><i class=\"fa fa-caret-right\"> <\/i> Run the downloaded setup using an administrator account and the installation wizard will take through the different steps.<\/em><\/p>\r\n\r\n\r\n\r\n<h2>2.\u00a0Configure the OPC UA IoT Broker to connect to the OPC UA Server<\/h2>\r\n\r\n\r\n\r\n<ul class=\"wp-block-list\">\r\n<li>Open the OPC UA IoT Broker configuration tool from your desktop shortcut<\/li>\r\n<li>Click on<strong> \u201cAdd New OPC UA connection\u201d<\/strong> option under the \u201cSource\u201d tab.<\/li>\r\n<li>Enter a Source Name for your OPC UA server.<\/li>\r\n<li>Copy and paste the OPC UA Server end point URL or click the \u201cDiscover\u201d button, as illustrated in the figure below:<\/li>\r\n<\/ul>\r\n\r\n\r\n\r\n<div class=\"wp-block-image\">\r\n<figure class=\"aligncenter\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"811\" class=\"wp-image-762\" src=\"https:\/\/integrationobjects.com\/blog\/wp-content\/uploads\/2020\/11\/End-point-URL-Discovery-1024x811.png\" alt=\"End point URL Discovery | Integration Objects\" srcset=\"https:\/\/integrationobjects.com\/blog\/wp-content\/uploads\/2020\/11\/End-point-URL-Discovery-1024x811.png 1024w, https:\/\/integrationobjects.com\/blog\/wp-content\/uploads\/2020\/11\/End-point-URL-Discovery-300x238.png 300w, https:\/\/integrationobjects.com\/blog\/wp-content\/uploads\/2020\/11\/End-point-URL-Discovery-768x608.png 768w, https:\/\/integrationobjects.com\/blog\/wp-content\/uploads\/2020\/11\/End-point-URL-Discovery.png 1119w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\r\n<\/div>\r\n\r\n\r\n\r\n<p class=\"has-text-align-center\"><em><span style=\"color: #003366; font-size: 12px;\">End point URL Discovery<\/span><\/em><\/p>\r\n\r\n\r\n\r\n<h2>3. Configure the OPC UA IoT Broker to connect to Azure IoT hub<\/h2>\r\n\r\n\r\n\r\n<p><em><i class=\"fa fa-caret-right\"> <\/i> Identify the connection string to your Azure IoT Hub as follows:<\/em><\/p>\r\n\r\n\r\n\r\n<p>If you do not yet have access to the Azure portal, you can create a\u00a0free Azure account <a href=\"https:\/\/azure.microsoft.com\/en-us\/free\/\"><span style=\"color: #3366ff;\">here<\/span><\/a>.<\/p>\r\n\r\n\r\n\r\n<p>a. Login to the <a href=\"https:\/\/portal.azure.com\/#home\"><span style=\"color: #3366ff;\">Azure Portal<\/span><\/a> with your account.<br \/>b. Create a new resource with \u201cIoT Hub\u201d as type.<\/p>\r\n\r\n\r\n\r\n<div class=\"wp-block-image\">\r\n<figure class=\"aligncenter\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"298\" class=\"wp-image-763\" src=\"https:\/\/integrationobjects.com\/blog\/wp-content\/uploads\/2020\/11\/IoT-Hub-Service-1024x298.png\" alt=\"IoT Hub Service | Integration Objects\" srcset=\"https:\/\/integrationobjects.com\/blog\/wp-content\/uploads\/2020\/11\/IoT-Hub-Service-1024x298.png 1024w, https:\/\/integrationobjects.com\/blog\/wp-content\/uploads\/2020\/11\/IoT-Hub-Service-300x87.png 300w, https:\/\/integrationobjects.com\/blog\/wp-content\/uploads\/2020\/11\/IoT-Hub-Service-768x224.png 768w, https:\/\/integrationobjects.com\/blog\/wp-content\/uploads\/2020\/11\/IoT-Hub-Service.png 1174w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\r\n<\/div>\r\n\r\n\r\n\r\n<p class=\"has-text-align-center\"><em><span style=\"color: #003366; font-size: 12px;\">IoT Hub Service<\/span><\/em><\/p>\r\n\r\n\r\n\r\n<p>c. Choose a resource group (1), name the IoT Hub (2) then finalize\u00a0your configuration after review (3):<\/p>\r\n\r\n\r\n\r\n<div class=\"wp-block-image\">\r\n<figure class=\"aligncenter\"><img loading=\"lazy\" decoding=\"async\" width=\"998\" height=\"893\" class=\"wp-image-764\" src=\"https:\/\/integrationobjects.com\/blog\/wp-content\/uploads\/2020\/11\/Azure-IoT-Hub-creation.png\" alt=\"Azure IoT Hub creation | Integration Objects\" srcset=\"https:\/\/integrationobjects.com\/blog\/wp-content\/uploads\/2020\/11\/Azure-IoT-Hub-creation.png 998w, https:\/\/integrationobjects.com\/blog\/wp-content\/uploads\/2020\/11\/Azure-IoT-Hub-creation-300x268.png 300w, https:\/\/integrationobjects.com\/blog\/wp-content\/uploads\/2020\/11\/Azure-IoT-Hub-creation-768x687.png 768w\" sizes=\"auto, (max-width: 998px) 100vw, 998px\" \/><\/figure>\r\n<\/div>\r\n\r\n\r\n\r\n<p class=\"has-text-align-center\"><em><span style=\"color: #003366; font-size: 12px;\">Azure IoT Hub creation<\/span><\/em><\/p>\r\n\r\n\r\n\r\n<p>d. Select the newly created IoT Hub under \u201cAll Resources\u201d and select the \u201c<strong>Shared Access Policies<\/strong>\u201d(1) then choose \u201c<strong>iothubowner<\/strong>\u201d(2)<br \/>e. Copy the \u201c<strong>Connection string \u2013 Primary key<\/strong>\u201d(3) from the \u201c<strong>iothubowner<\/strong>\u201d policy:<\/p>\r\n\r\n\r\n\r\n<div class=\"wp-block-image\">\r\n<figure class=\"aligncenter\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"415\" class=\"wp-image-765\" src=\"https:\/\/integrationobjects.com\/blog\/wp-content\/uploads\/2020\/11\/Connection-string-\u2013-Primary-key-1024x415.png\" alt=\"Connection string \u2013 Primary key | Integration Objects\" srcset=\"https:\/\/integrationobjects.com\/blog\/wp-content\/uploads\/2020\/11\/Connection-string-\u2013-Primary-key-1024x415.png 1024w, https:\/\/integrationobjects.com\/blog\/wp-content\/uploads\/2020\/11\/Connection-string-\u2013-Primary-key-300x122.png 300w, https:\/\/integrationobjects.com\/blog\/wp-content\/uploads\/2020\/11\/Connection-string-\u2013-Primary-key-768x312.png 768w, https:\/\/integrationobjects.com\/blog\/wp-content\/uploads\/2020\/11\/Connection-string-\u2013-Primary-key.png 1378w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\r\n<\/div>\r\n\r\n\r\n\r\n<p class=\"has-text-align-center\"><em><span style=\"color: #003366; font-size: 12px;\">Connection string \u2013 Primary key<\/span><\/em><\/p>\r\n\r\n\r\n\r\n<p><em><i class=\"fa fa-caret-right\"> <\/i> Add a New Publisher Agent in the OPC UA IoT Broker<\/em><\/p>\r\n\r\n\r\n\r\n<p>a. Click the \u201cAdd New IoT HUB Agent\u201d button from the Destination Tree View (1). The following wizard will be prompted:<\/p>\r\n\r\n\r\n\r\n<div class=\"wp-block-image\">\r\n<figure class=\"aligncenter\"><img loading=\"lazy\" decoding=\"async\" width=\"969\" height=\"643\" class=\"wp-image-766\" src=\"https:\/\/integrationobjects.com\/blog\/wp-content\/uploads\/2020\/11\/IoT-HUB-Agent-Creation.png\" alt=\"IoT HUB Agent Creation | Integration Objects\" srcset=\"https:\/\/integrationobjects.com\/blog\/wp-content\/uploads\/2020\/11\/IoT-HUB-Agent-Creation.png 969w, https:\/\/integrationobjects.com\/blog\/wp-content\/uploads\/2020\/11\/IoT-HUB-Agent-Creation-300x199.png 300w, https:\/\/integrationobjects.com\/blog\/wp-content\/uploads\/2020\/11\/IoT-HUB-Agent-Creation-768x510.png 768w\" sizes=\"auto, (max-width: 969px) 100vw, 969px\" \/><\/figure>\r\n<\/div>\r\n\r\n\r\n\r\n<p class=\"has-text-align-center\"><em><span style=\"color: #003366; font-size: 12px;\">IoT Hub Agent Creation<\/span><\/em><\/p>\r\n\r\n\r\n\r\n<p>b. Rename the new publisher agent (2).<br \/>c. Choose the Agent type (3) for your IoT Hub agent which presents the protocol used to establish secure communication channel with the IoT Hub. The communication protocol can be MQTT, AMQP or HTTP.<br \/>d. Paste the connection string copied in step <strong>1-e<\/strong> into the Connection String field (4).<br \/>e. Click the \u201cAdd\u201d button (5).<\/p>\r\n\r\n\r\n\r\n<h2>4. Configure a new mapping and start data publishing:<\/h2>\r\n\r\n\r\n\r\n<p><i class=\"fa fa-caret-right\"> <\/i><em> Configure Mapping<\/em><\/p>\r\n\r\n\r\n\r\n<ul class=\"wp-block-list\">\r\n<li>You can configure a mapping by choosing one of the options below:<\/li>\r\n<\/ul>\r\n\r\n\r\n\r\n<ul class=\"wp-block-list\">\r\n<li>Drag an OPC UA Server address space node and drop it on an IoT Hub agent node<\/li>\r\n<li>Drag an OPC UA Server address space node and drop it on the mapping grid. You will be prompted to configure the corresponding IoT HUB Agent.<\/li>\r\n<li>Drag an IoT Hub Agent and drop it on the mapping grid. You will be prompted to configure the corresponding OPC UA Server.<\/li>\r\n<li>Select an OPC UA address space node or tag node (1) and an agent (2) then click the mapping button (3), as illustrated in the figure below:<\/li>\r\n<\/ul>\r\n\r\n\r\n\r\n<div class=\"wp-block-image\">\r\n<figure class=\"aligncenter\"><img loading=\"lazy\" decoding=\"async\" width=\"967\" height=\"660\" class=\"wp-image-767\" src=\"https:\/\/integrationobjects.com\/blog\/wp-content\/uploads\/2020\/11\/Configuring-A-New-Mapping.png\" alt=\"Configuring A New Mapping | Integration Objects\" srcset=\"https:\/\/integrationobjects.com\/blog\/wp-content\/uploads\/2020\/11\/Configuring-A-New-Mapping.png 967w, https:\/\/integrationobjects.com\/blog\/wp-content\/uploads\/2020\/11\/Configuring-A-New-Mapping-300x205.png 300w, https:\/\/integrationobjects.com\/blog\/wp-content\/uploads\/2020\/11\/Configuring-A-New-Mapping-768x524.png 768w\" sizes=\"auto, (max-width: 967px) 100vw, 967px\" \/><\/figure>\r\n<\/div>\r\n\r\n\r\n\r\n<p class=\"has-text-align-center\"><em><span style=\"color: #003366; font-size: 12px;\">Configuring A New Mapping<\/span><\/em><\/p>\r\n\r\n\r\n\r\n<ul class=\"wp-block-list\">\r\n<li>You will be asked whether to send Alarms &amp; Events data along with real time data to the IoT Hub or not.<\/li>\r\n<\/ul>\r\n\r\n\r\n\r\n<div class=\"wp-block-image\">\r\n<figure class=\"aligncenter\"><img loading=\"lazy\" decoding=\"async\" width=\"591\" height=\"347\" class=\"wp-image-768\" src=\"https:\/\/integrationobjects.com\/blog\/wp-content\/uploads\/2020\/11\/Alarms-and-Conditions.png\" alt=\"Alarms and Conditions | Integration Objects\" srcset=\"https:\/\/integrationobjects.com\/blog\/wp-content\/uploads\/2020\/11\/Alarms-and-Conditions.png 591w, https:\/\/integrationobjects.com\/blog\/wp-content\/uploads\/2020\/11\/Alarms-and-Conditions-300x176.png 300w\" sizes=\"auto, (max-width: 591px) 100vw, 591px\" \/><\/figure>\r\n<\/div>\r\n\r\n\r\n\r\n<p class=\"has-text-align-center\"><em><span style=\"color: #003366; font-size: 12px;\">Alarms and Conditions<\/span><\/em><\/p>\r\n\r\n\r\n\r\n<ul class=\"wp-block-list\">\r\n<li>Refer to the Mappings Grid that will contain your configured mappings and the status of their corresponding publishing process. You will be able to manage your mappings by clicking the edit or remove buttons of a specific row in the grid.<\/li>\r\n<\/ul>\r\n\r\n\r\n\r\n<div class=\"wp-block-image\">\r\n<figure class=\"aligncenter\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"113\" class=\"wp-image-769\" src=\"https:\/\/integrationobjects.com\/blog\/wp-content\/uploads\/2020\/11\/Mappings-Grid-1024x113.png\" alt=\"Mappings Grid | Integration Objects\" srcset=\"https:\/\/integrationobjects.com\/blog\/wp-content\/uploads\/2020\/11\/Mappings-Grid-1024x113.png 1024w, https:\/\/integrationobjects.com\/blog\/wp-content\/uploads\/2020\/11\/Mappings-Grid-300x33.png 300w, https:\/\/integrationobjects.com\/blog\/wp-content\/uploads\/2020\/11\/Mappings-Grid-768x85.png 768w, https:\/\/integrationobjects.com\/blog\/wp-content\/uploads\/2020\/11\/Mappings-Grid.png 1066w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\r\n<\/div>\r\n\r\n\r\n\r\n<p class=\"has-text-align-center\"><em><span style=\"color: #003366; font-size: 12px;\">Mappings Grid<\/span><\/em><\/p>\r\n\r\n\r\n\r\n<p><em><i class=\"fa fa-caret-right\"> <\/i> Start Publishing Service<\/em><\/p>\r\n\r\n\r\n\r\n<p>You can start sending your OPC UA DA and AE data to your IoT Hub as follows:<\/p>\r\n\r\n\r\n\r\n<p>a. Select a mapping from the \u201cMappings Grid\u201d (1)<br \/>b. Click the \u201cStart One\u201d button (2) available in the Application menu bar. Once the service is started, the mapping status in the grid will be updated from \u201cStopped\u201d to \u201cStarted\u201d.<\/p>\r\n\r\n\r\n\r\n<div class=\"wp-block-image\">\r\n<figure class=\"aligncenter\"><img loading=\"lazy\" decoding=\"async\" width=\"967\" height=\"660\" class=\"wp-image-770\" src=\"https:\/\/integrationobjects.com\/blog\/wp-content\/uploads\/2020\/11\/Start-Publishing.png\" alt=\"Start Publishing | Integration Objects\" srcset=\"https:\/\/integrationobjects.com\/blog\/wp-content\/uploads\/2020\/11\/Start-Publishing.png 967w, https:\/\/integrationobjects.com\/blog\/wp-content\/uploads\/2020\/11\/Start-Publishing-300x205.png 300w, https:\/\/integrationobjects.com\/blog\/wp-content\/uploads\/2020\/11\/Start-Publishing-768x524.png 768w\" sizes=\"auto, (max-width: 967px) 100vw, 967px\" \/><\/figure>\r\n<\/div>\r\n\r\n\r\n\r\n<p class=\"has-text-align-center\"><em><span style=\"color: #003366; font-size: 12px;\">Start Publishing<\/span><\/em><\/p>\r\n\r\n\r\n\r\n<p>c. If the publishing process started correctly, a log message confirming that the subscription to the server was created will be displayed in the notification panel as shown in the figure below<\/p>\r\n\r\n\r\n\r\n<div class=\"wp-block-image\">\r\n<figure class=\"aligncenter\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"704\" class=\"wp-image-771\" src=\"https:\/\/integrationobjects.com\/blog\/wp-content\/uploads\/2020\/11\/Notifications-Panel-1024x704.png\" alt=\"Notifications Panel | Integration Objects\" srcset=\"https:\/\/integrationobjects.com\/blog\/wp-content\/uploads\/2020\/11\/Notifications-Panel-1024x704.png 1024w, https:\/\/integrationobjects.com\/blog\/wp-content\/uploads\/2020\/11\/Notifications-Panel-300x206.png 300w, https:\/\/integrationobjects.com\/blog\/wp-content\/uploads\/2020\/11\/Notifications-Panel-768x528.png 768w, https:\/\/integrationobjects.com\/blog\/wp-content\/uploads\/2020\/11\/Notifications-Panel.png 1207w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\r\n<\/div>\r\n\r\n\r\n\r\n<p class=\"has-text-align-center\"><em><span style=\"color: #003366; font-size: 12px;\">Notifications Panel<\/span><\/em><\/p>\r\n\r\n\r\n\r\n<h2>5. Monitor your data flow<\/h2>\r\n\r\n\r\n\r\n<p>You can verify the data received from your OPC UA Server and published to Azure IoT Hub using the <strong>\u201cDevice Explorer\u201d <\/strong>tool for example. This tool can be downloaded from <a href=\"https:\/\/github.com\/Azure\/azure-iot-sdk-csharp\/releases\/download\/2019-1-4\/SetupDeviceExplorer.msi\"><span style=\"color: #3366ff;\">here<\/span><\/a>.<\/p>\r\n\r\n\r\n\r\n<p>a. In Device Explorer, under configuration menu tab (1), paste the connection string of your IoT Hub (2) , enter the right hostname(3) then click the button \u201c<strong>Update<\/strong>\u201d(4), as illustrated below:<\/p>\r\n\r\n\r\n\r\n<div class=\"wp-block-image\">\r\n<figure class=\"aligncenter\"><img loading=\"lazy\" decoding=\"async\" width=\"791\" height=\"684\" class=\"wp-image-772\" src=\"https:\/\/integrationobjects.com\/blog\/wp-content\/uploads\/2020\/11\/Configuring-IoT-HuB-Connection-in-Device-Explorer.png\" alt=\"Configuring IoT HuB Connection in Device Explorer | Integration Objects\" srcset=\"https:\/\/integrationobjects.com\/blog\/wp-content\/uploads\/2020\/11\/Configuring-IoT-HuB-Connection-in-Device-Explorer.png 791w, https:\/\/integrationobjects.com\/blog\/wp-content\/uploads\/2020\/11\/Configuring-IoT-HuB-Connection-in-Device-Explorer-300x259.png 300w, https:\/\/integrationobjects.com\/blog\/wp-content\/uploads\/2020\/11\/Configuring-IoT-HuB-Connection-in-Device-Explorer-768x664.png 768w\" sizes=\"auto, (max-width: 791px) 100vw, 791px\" \/><\/figure>\r\n<\/div>\r\n\r\n\r\n\r\n<p class=\"has-text-align-center\"><em><span style=\"color: #003366; font-size: 12px;\">Configuring IoT HuB Connection in Device Explorer<\/span><\/em><\/p>\r\n\r\n\r\n\r\n<p>b. View the Data flow: under Data menu tab (1), choose your Agent that was configured and started in the OPC UA IoT Broker (2) and click \u201cMonitor\u201d(3). The published data will then be displayed (4), as illustrated below:<\/p>\r\n\r\n\r\n\r\n<div class=\"wp-block-image\">\r\n<figure class=\"aligncenter\"><img loading=\"lazy\" decoding=\"async\" width=\"982\" height=\"818\" class=\"wp-image-773\" src=\"https:\/\/integrationobjects.com\/blog\/wp-content\/uploads\/2020\/11\/Monitor-Data-flow.png\" alt=\"Monitor Data flow | Integration Objects\" srcset=\"https:\/\/integrationobjects.com\/blog\/wp-content\/uploads\/2020\/11\/Monitor-Data-flow.png 982w, https:\/\/integrationobjects.com\/blog\/wp-content\/uploads\/2020\/11\/Monitor-Data-flow-300x250.png 300w, https:\/\/integrationobjects.com\/blog\/wp-content\/uploads\/2020\/11\/Monitor-Data-flow-768x640.png 768w\" sizes=\"auto, (max-width: 982px) 100vw, 982px\" \/><\/figure>\r\n<\/div>\r\n\r\n\r\n\r\n<p class=\"has-text-align-center\"><em><span style=\"color: #003366; font-size: 12px;\">Monitor Data flow<\/span><\/em><\/p>\r\n","protected":false},"excerpt":{"rendered":"<p>Our OPC UA IoT Broker is an industrial middleware solution that enables OPC UA to Azure IoT Hub integration by collecting real-time data and alarms<\/p>\n","protected":false},"author":1,"featured_media":1650,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[187,183],"tags":[175],"class_list":["post-761","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-it-ot-integration","category-opc-ua","tag-opc-ua-iot-broker"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v25.1 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>How to Connect OPC UA to Azure IoT Hub (tutorial)<\/title>\n<meta name=\"description\" content=\"Learn how to publish OPC UA data to Azure IoT Hub using an OPC UA IoT Broker. Step-by-step configuration, security setup, and best practices.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/integrationobjects.com\/blog\/how-to-configure-opc-ua-iot-broker-to-publish-data-to-azure-iot-hub\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"How to Connect OPC UA to Azure IoT Hub (tutorial)\" \/>\n<meta property=\"og:description\" content=\"Learn how to publish OPC UA data to Azure IoT Hub using an OPC UA IoT Broker. Step-by-step configuration, security setup, and best practices.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/integrationobjects.com\/blog\/how-to-configure-opc-ua-iot-broker-to-publish-data-to-azure-iot-hub\/\" \/>\n<meta property=\"og:site_name\" content=\"OPC Blog\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/Integration.Objects.OPC\/\" \/>\n<meta property=\"article:published_time\" content=\"2020-11-20T13:53:51+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2026-02-26T10:05:09+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/integrationobjects.com\/blog\/wp-content\/uploads\/2020\/11\/opc-ua-iot-broker-azure-iot-hub-integration.png\" \/>\n\t<meta property=\"og:image:width\" content=\"1536\" \/>\n\t<meta property=\"og:image:height\" content=\"864\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"OPCBlogAdmin\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@IntegObjects\" \/>\n<meta name=\"twitter:site\" content=\"@IntegObjects\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"OPCBlogAdmin\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"7 minutes\" \/>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"How to Connect OPC UA to Azure IoT Hub (tutorial)","description":"Learn how to publish OPC UA data to Azure IoT Hub using an OPC UA IoT Broker. Step-by-step configuration, security setup, and best practices.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/integrationobjects.com\/blog\/how-to-configure-opc-ua-iot-broker-to-publish-data-to-azure-iot-hub\/","og_locale":"en_US","og_type":"article","og_title":"How to Connect OPC UA to Azure IoT Hub (tutorial)","og_description":"Learn how to publish OPC UA data to Azure IoT Hub using an OPC UA IoT Broker. Step-by-step configuration, security setup, and best practices.","og_url":"https:\/\/integrationobjects.com\/blog\/how-to-configure-opc-ua-iot-broker-to-publish-data-to-azure-iot-hub\/","og_site_name":"OPC Blog","article_publisher":"https:\/\/www.facebook.com\/Integration.Objects.OPC\/","article_published_time":"2020-11-20T13:53:51+00:00","article_modified_time":"2026-02-26T10:05:09+00:00","og_image":[{"width":1536,"height":864,"url":"https:\/\/integrationobjects.com\/blog\/wp-content\/uploads\/2020\/11\/opc-ua-iot-broker-azure-iot-hub-integration.png","type":"image\/png"}],"author":"OPCBlogAdmin","twitter_card":"summary_large_image","twitter_creator":"@IntegObjects","twitter_site":"@IntegObjects","twitter_misc":{"Written by":"OPCBlogAdmin","Est. reading time":"7 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/integrationobjects.com\/blog\/how-to-configure-opc-ua-iot-broker-to-publish-data-to-azure-iot-hub\/","url":"https:\/\/integrationobjects.com\/blog\/how-to-configure-opc-ua-iot-broker-to-publish-data-to-azure-iot-hub\/","name":"How to Connect OPC UA to Azure IoT Hub (tutorial)","isPartOf":{"@id":"https:\/\/integrationobjects.com\/blog-\/#website"},"primaryImageOfPage":{"@id":"https:\/\/integrationobjects.com\/blog\/how-to-configure-opc-ua-iot-broker-to-publish-data-to-azure-iot-hub\/#primaryimage"},"image":{"@id":"https:\/\/integrationobjects.com\/blog\/how-to-configure-opc-ua-iot-broker-to-publish-data-to-azure-iot-hub\/#primaryimage"},"thumbnailUrl":"https:\/\/integrationobjects.com\/blog\/wp-content\/uploads\/2020\/11\/opc-ua-iot-broker-azure-iot-hub-integration.png","datePublished":"2020-11-20T13:53:51+00:00","dateModified":"2026-02-26T10:05:09+00:00","author":{"@id":"https:\/\/integrationobjects.com\/blog-\/#\/schema\/person\/6efbaf488a07e418b93ff77f00af386b"},"description":"Learn how to publish OPC UA data to Azure IoT Hub using an OPC UA IoT Broker. Step-by-step configuration, security setup, and best practices.","breadcrumb":{"@id":"https:\/\/integrationobjects.com\/blog\/how-to-configure-opc-ua-iot-broker-to-publish-data-to-azure-iot-hub\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/integrationobjects.com\/blog\/how-to-configure-opc-ua-iot-broker-to-publish-data-to-azure-iot-hub\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/integrationobjects.com\/blog\/how-to-configure-opc-ua-iot-broker-to-publish-data-to-azure-iot-hub\/#primaryimage","url":"https:\/\/integrationobjects.com\/blog\/wp-content\/uploads\/2020\/11\/opc-ua-iot-broker-azure-iot-hub-integration.png","contentUrl":"https:\/\/integrationobjects.com\/blog\/wp-content\/uploads\/2020\/11\/opc-ua-iot-broker-azure-iot-hub-integration.png","width":1536,"height":864,"caption":"azure iot hub opc ua"},{"@type":"BreadcrumbList","@id":"https:\/\/integrationobjects.com\/blog\/how-to-configure-opc-ua-iot-broker-to-publish-data-to-azure-iot-hub\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/integrationobjects.com\/blog-\/"},{"@type":"ListItem","position":2,"name":"How to Connect OPC UA to Azure IoT Hub Using an OPC UA IoT Broker"}]},{"@type":"WebSite","@id":"https:\/\/integrationobjects.com\/blog-\/#website","url":"https:\/\/integrationobjects.com\/blog-\/","name":"OPC Blog","description":"OPC and related technologies news from Integration Objects","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/integrationobjects.com\/blog-\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Person","@id":"https:\/\/integrationobjects.com\/blog-\/#\/schema\/person\/6efbaf488a07e418b93ff77f00af386b","name":"OPCBlogAdmin","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/integrationobjects.com\/blog-\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/f2d787c3c48eb147d5b4d0c9d05c6f35a5946c7dc40af2eedbe64030e99ea299?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/f2d787c3c48eb147d5b4d0c9d05c6f35a5946c7dc40af2eedbe64030e99ea299?s=96&d=mm&r=g","caption":"OPCBlogAdmin"}}]}},"_links":{"self":[{"href":"https:\/\/integrationobjects.com\/blog\/wp-json\/wp\/v2\/posts\/761","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/integrationobjects.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/integrationobjects.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/integrationobjects.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/integrationobjects.com\/blog\/wp-json\/wp\/v2\/comments?post=761"}],"version-history":[{"count":24,"href":"https:\/\/integrationobjects.com\/blog\/wp-json\/wp\/v2\/posts\/761\/revisions"}],"predecessor-version":[{"id":1649,"href":"https:\/\/integrationobjects.com\/blog\/wp-json\/wp\/v2\/posts\/761\/revisions\/1649"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/integrationobjects.com\/blog\/wp-json\/wp\/v2\/media\/1650"}],"wp:attachment":[{"href":"https:\/\/integrationobjects.com\/blog\/wp-json\/wp\/v2\/media?parent=761"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/integrationobjects.com\/blog\/wp-json\/wp\/v2\/categories?post=761"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/integrationobjects.com\/blog\/wp-json\/wp\/v2\/tags?post=761"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}