> ## Documentation Index
> Fetch the complete documentation index at: https://domoinc-openapi-sync-dataflows.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# AzureIotHub Connector

## Intro

AzureIotHub Hub is a managed service, hosted in the cloud, that acts as a central message hub for bi-directional communication between an IoT application and the devices it manages. Azure IoT Hub can be used to build IoT solutions with reliable and secure communications between millions of IoT devices and a cloud-hosted solution backend.

The AzureIotHub Connector is a "Cloud App" Connector, meaning it retrieves data stored in the cloud. In the Data Center, you can access the Connector page for this and other Cloud App Connectors by clicking

**Cloud App**

in the toolbar at the top of the window.

You connect to your AzureIotHub account in the Data Center. This topic discusses the fields and menus that are specific to the

Connector user interface. GenAzureIotHuberal information for adding DataSets, setting update schedules, and editing DataSet information is discussed in

[Adding a DataSet Using a Connector](/s/article/360042926274 "Adding a DataSet Using a Connector").

## Prerequisites

To connect to your AzureIotHub account and create a DataSet, you must have the following:

* An active [Azure account](https://azure.microsoft.com/free/cognitive-services/ "Azure account"). If you don't have one, you can [create a free account](https://azure.microsoft.com/free/ "create a free account").
* A [Translator](https://portal.azure.com/#create/Microsoft.CognitiveServicesTextTranslation "Translator") resource.
* A **standard performance** [Azure Blob Storage account](https://portal.azure.com/#create/Microsoft.StorageAccount-ARM "Azure Blob Storage account"). You'll create containers to store and organize your files within your storage account. If you don't know how to create an Azure storage account with a storage container, follow these quickstarts:

  * [Create a storage account](https://docs.microsoft.com/en-us/azure/storage/common/storage-account-create "Create a storage account"). When you create your storage account, select **Standard** performance in the **Instance details** > **Performance** field.
  * [Create a container](https://docs.microsoft.com/en-us/azure/storage/blobs/storage-quickstart-blobs-portal#create-a-container "Create a container"). When you create your container, set the **Public access level** to **Container** (anonymous read access for containers and files) in the **New Container** window.
* IoT hub Host Name generated by Azure
* Shared Access Key Name
* Shared Access Key

## Connecting to Your AzureIotHub Connector Account

This section enumerates the options in the Credentials and Details panes in the AzureIotHub Connector page. The components of the other panes in this page, **Scheduling** and **Name & Describe Your DataSet**, are universal across most connector types and are discussed in greater length in [Adding a DataSet Using a Connector](/s/article/360042926274 "Adding a DataSet Using a Connector").

### Credentials Pane

This pane contains fields for entering credentials to connect to your AzureIotHub account. The following table describes what is needed for each field:

<table border="1" data-aura-rendered-by="33:195;a"><tbody><tr><td colspan="1" rowspan="1"><b> Field </b></td><td colspan="1" rowspan="1"><b> Description </b></td></tr><tr><td colspan="1" rowspan="1"> Host Name </td><td colspan="1" rowspan="1"> Enter the IoT hub hostname generated by Azure. </td></tr><tr><td colspan="1" rowspan="1"> Shared Access Key Name </td><td colspan="1" rowspan="1"> Enter the Shared Access Key Name (shared Access and Policies in IoT hub). </td></tr><tr><td colspan="1" rowspan="1"> Shared Access Key </td><td colspan="1" rowspan="1"> Enter the Shared Access Key (shared Access and Policies in IoT hub). </td></tr></tbody></table>

Once you have entered valid AzureIotHub credentials, you can use the same account any time to create a new AzureIotHub DataSet. You can manage connector accounts in the **Accounts** tab in the Data Center. For more information about this tab, see [Manage Connector/Adapter Accounts](/s/article/360042926054 "Manage Connector/Adapter Accounts").

<Note>
  **Note:** If you are already logged into AzureIotHub when you connect in Domo, you are authenticated automatically when you click **Add account**. If you want to connect to an account that is different from the one you are logged into, you must first log out of AzureIotHub.
</Note>

### Details Pane

This pane contains a primary **Reports** menu, along with various other menus which may or may not appear depending on the report type you select.

<table border="1" cellpadding="1" cellspacing="1" data-aura-rendered-by="33:195;a"><thead><tr><th colspan="1" rowspan="1"><p> Menu </p></th><th colspan="1" rowspan="1"><p> Description </p></th></tr></thead><tbody><tr><td colspan="1" rowspan="1"><p> Report </p></td><td colspan="1" rowspan="1"><p> Select the <span> AzureIotHub </span><span /> report you want to run. The following reports are available: </p><table border="1" cellpadding="1" cellspacing="1" width="609"><tbody><tr><td colspan="1" rowspan="1"><p class="DatasetsPaper_title_3bKfQ"><span /> Get Configurations </p></td><td colspan="1" rowspan="1"><div class="DatasetsPaper_reportTileTextContainer_37z3j"><div class="DatasetsPaper_description_3dchc"> Get multiple configurations for devices or modules of an IoT Hub. </div></div><div class="DatasetsPaper_reportTileTextContainer_37z3j" /></td></tr><tr><td colspan="1" rowspan="1"><p class="DatasetsPaper_title_3bKfQ"> Get Devices </p></td><td colspan="1" rowspan="1"><p><span> Get the identities of multiple devices from the IoT hub identity registry. </span></p></td></tr><tr><td colspan="1" rowspan="1"><p class="DatasetsPaper_title_3bKfQ"> Device Registry Statistics </p></td><td colspan="1" rowspan="1"><div class="DatasetsPaper_reportTileTextContainer_37z3j"><div class="DatasetsPaper_description_3dchc"> Retrieves statistics about device identities in the IoT hubs identity registry. </div></div><div class="DatasetsPaper_reportTileTextContainer_37z3j" /></td></tr><tr><td colspan="1" rowspan="1"><p class="DatasetsPaper_title_3bKfQ"> Get Job Details </p></td><td colspan="1" rowspan="1"><p><span> Retrieves details of a scheduled job from an IoT hub. </span></p></td></tr><tr><td colspan="1" rowspan="1"><p class="DatasetsPaper_title_3bKfQ"><span /> Get Modules on Device </p></td><td colspan="1" rowspan="1"><p><span> Retrieve all the module identities on the device. </span></p></td></tr><tr><td colspan="1" rowspan="1"><p class="DatasetsPaper_title_3bKfQ"> Get Module Twin </p></td><td colspan="1" rowspan="1"><p><span> Gets a module twin. </span></p></td></tr><tr><td colspan="1" rowspan="1"><p class="DatasetsPaper_title_3bKfQ"> Query IoT Hub </p></td><td colspan="1" rowspan="1"><div class="DatasetsPaper_reportTileTextContainer_37z3j"><div class="DatasetsPaper_description_3dchc"> Query an IoT hub to retrieve information regarding device twins using a SQL-like language. </div></div><div class="DatasetsPaper_reportTileTextContainer_37z3j" /></td></tr><tr><td colspan="1" rowspan="1"><p class="DatasetsPaper_title_3bKfQ"> Query Jobs </p></td><td colspan="1" rowspan="1"><div class="DatasetsPaper_reportTileTextContainer_37z3j"><div class="DatasetsPaper_description_3dchc"> Query an IoT hub to retrieve information regarding jobs using the IoT Hub query language. </div></div></td></tr><tr><td colspan="1" rowspan="1"><p class="DatasetsPaper_title_3bKfQ"> Service Statistics </p></td><td colspan="1" rowspan="1"><p><span> Retrieves service statistics for this IoT hubs identity registry. </span></p></td></tr><tr><td colspan="1" rowspan="1"><p class="DatasetsPaper_title_3bKfQ"> Twin </p><p class="DatasetsPaper_title_3bKfQ" /></td><td colspan="1" rowspan="1"><div><div class="Tabs-module_tabs__cHJe2 TabPapers_container_26uqt Tabs-module_tabBarPlacement-above__BGHlW"><div class="TabPanes-module_tabPanes__A-xE2"><div class="TabPane-module_tabPane__iOMa6 TabPapers_tabPane_2nBMQ"><div class="Paper_container_2GWPD"><div class="DatasetsPaper_tile_a798r DatasetsPaper_dataset_3-A25"><div class="DatasetsPaper_reportTileTextContainer_37z3j"><div class="DatasetsPaper_description_3dchc"> Gets a device twin. </div></div></div></div></div></div></div></div><p class="AppItemDetails_right_152HJ" /></td></tr></tbody></table></td></tr></tbody></table>

### Other Panes

For information about the remaining sections of the Connector interface, including how to configure scheduling, retry, and update options, see [Adding a DataSet Using a Connector](/s/article/360042926274 "Adding a DataSet Using a Connector").

## FAQs

<AccordionGroup>
  <Accordion title="What is the base URL of the Connector?">
    The base URL of the connector is [`https://<fully-qualified-iothubname>.azure-devices.net`](https://fully-qualified-iothubname.azure-devices.net/ "https://\<fully-qualified-iothubname>.azure-devices.net")
  </Accordion>

  <Accordion title="Which endpoint(s) does each report call in this Connector?">
    <table data-aura-rendered-by="33:195;a"><tbody><tr><th colspan="2" rowspan="1"> Report Name </th><th colspan="1" rowspan="1"> Endpoint URL(s) </th></tr><tr><td colspan="2" rowspan="1"><p class="DatasetsPaper_title_3bKfQ"> Get Configurations </p></td><td colspan="1" rowspan="1"><span> /configurations/{id} </span></td></tr><tr><td colspan="2" rowspan="1"><p class="DatasetsPaper_title_3bKfQ"> Get Devices </p></td><td colspan="1" rowspan="1"><span> /devices/{deviceId} </span></td></tr><tr><td colspan="2" rowspan="1"><p class="DatasetsPaper_title_3bKfQ"> Device Registry Statistics </p></td><td colspan="1" rowspan="1"><span> /statistics/devices </span></td></tr><tr><td colspan="2" rowspan="1"><p class="DatasetsPaper_title_3bKfQ"> Get Job Details </p></td><td colspan="1" rowspan="1"><span> /jobs/v2/{jobId} </span></td></tr><tr><td colspan="2" rowspan="1"><p class="DatasetsPaper_title_3bKfQ"> Get Modules on Device </p></td><td colspan="1" rowspan="1"><span> /devices/{deviceId}/modules </span></td></tr><tr><td colspan="2" rowspan="1"><p class="DatasetsPaper_title_3bKfQ"> Get Module Twin </p></td><td colspan="1" rowspan="1"><span> /twins/{deviceId}/modules/{mid} </span></td></tr><tr><td colspan="2" rowspan="1"><p class="DatasetsPaper_title_3bKfQ"> Query IoT Hub </p></td><td colspan="1" rowspan="1"><span> /devices/query </span></td></tr><tr><td colspan="2" rowspan="1"><p class="DatasetsPaper_title_3bKfQ"><span /> Query Jobs </p></td><td colspan="1" rowspan="1"><span> /jobs/v2/query </span></td></tr><tr><td colspan="2" rowspan="1"><p class="DatasetsPaper_title_3bKfQ"> Service Statistics </p></td><td colspan="1" rowspan="1"><span> /statistics/service </span></td></tr><tr><td colspan="2" rowspan="1"><p class="DatasetsPaper_title_3bKfQ"> Twin </p><p class="DatasetsPaper_title_3bKfQ" /></td><td colspan="1" rowspan="1"><span> /twins/{deviceId} </span></td></tr></tbody></table>
  </Accordion>

  <Accordion title="What kind of credentials do I need to power up this Connector?">
    To connect to AzureIotHub account you may need the following:

    <table border="1" data-aura-rendered-by="33:195;a"><tbody><tr><td colspan="1" rowspan="1"><b> Parameter Name </b></td><td colspan="1" rowspan="1"><b> Where to find it </b></td></tr><tr><td colspan="1" rowspan="1"><span> Shared Access Key Name </span></td><td colspan="1" rowspan="1"><span> It is generated by Azure & will be used for Web UI login </span></td></tr><tr><td colspan="1" rowspan="1"><span> Shared Access Key </span></td><td class="confluenceTd" colspan="1" rowspan="1"><span> It is generated by Azure & will be used for Web UI login </span></td></tr><tr><td colspan="1" rowspan="1"><span> Host Name </span></td><td class="confluenceTd" colspan="1" rowspan="1"><span> It is generated by Azure & will be used for Web UI login </span></td></tr></tbody></table>
  </Accordion>

  <Accordion title="How do I know my AzureIotHub Connector credentials are secure?">
    The login process uses the OAuth process, so your credentials are never seen or stored by Domo. This keeps your login secure. You can revoke Domo's access to your account at any time.
  </Accordion>

  <Accordion title="Do I need a certain kind of account to set up the Connector?">
    .
  </Accordion>

  <Accordion title="Are there any API limits I should be aware of?">
    Resource Manager applies a limit on the number of requests per hour to prevent an application from sending too many requests. If the application exceeds those limits, requests are throttled. The response header includes the number of remaining requests for the scope.
  </Accordion>
</AccordionGroup>

## Troubleshooting

* Make sure your authentication remains valid.
* Review the configuration to make sure that all required items have been selected.
* Review the Connector history for error messages.
* In rare cases, you may be requesting too much information and reaching API limitations or timeouts. If this is the case, you can review the history of the Connector run to see the error message and duration. If this is the case, you can reduce the number of accounts that are being pulled, choose a smaller number of metrics for the report that you are pulling, or reduce the timeframe that you are trying to pull.
