Azure IoT Hub Skill

SkillCloud & infra

Expert knowledge for Azure IoT Hub development including troubleshooting, best practices, decision making, architecture & design patterns, limits & quotas, security, configuration, integrations & coding patterns, and deployment. Use when using IoT Hub/DPS for device twins, routing/enrichments, MQTT/AMQP/HTTPS, Device Update, or Cosmos DB sinks, and other Azure IoT Hub related development tasks. Not for Azure IoT (use azure-iot), Azure IoT Central (use azure-iot-central), Azure IoT Edge (use azure-iot-edge), Azure IoT Operations (use azure-iot-operations).

Available today. Use it from your connected AI after setup.

Connect ahel once, and every AI you use reads what you have installed.

Then ask your AI: use the Azure IoT Hub Skill skill

What this skill tells your AI

The instructions your AI receives, as published by microsoftdocs/agent-skills in skills/azure-iot-hub/SKILL.md and read by ahel’s review.

This skill provides expert guidance for Azure IoT Hub. Covers troubleshooting, best practices, decision making, architecture & design patterns, limits & quotas, security, configuration, integrations & coding patterns, and deployment. It combines local quick-reference content with remote documentation fetching capabilities.

How to Use This Skill

IMPORTANT for Agent: Use the Category Index below to locate relevant sections. For categories with line ranges (e.g., L35-L120), use read_file with the specified lines. For categories with file links (e.g., [security.md](security.md)), use read_file on the linked reference file

IMPORTANT for Agent: If metadata.generated_at is more than 3 months old, suggest the user pull the latest version from the repository. If mcp_microsoftdocs tools are not available, suggest the user install it: Installation Guide

This skill requires network access to fetch documentation content:

  • Preferred: Use mcp_microsoftdocs:microsoft_docs_fetch with query string from=learn-agent-skill. Returns Markdown.
  • Fallback: Use fetch_webpage with query string from=learn-agent-skill&accept=text/markdown. Returns Markdown.

Category Index

CategoryLinesDescription
TroubleshootingL37-L53Diagnosing and fixing IoT Hub/DPS connectivity, routing, proxy, and storage issues; interpreting error codes and collecting/using Device Update and device diagnostic logs.
Best PracticesL54-L61Best practices for secure, scalable IoT Hub/DPS deployments: device provisioning at scale, OEM security, cert renewal/ADR, resilient reconnection, auto device config, and IoT Hub hardening.
Decision MakingL62-L74Guidance for choosing IoT Hub vs alternatives, DR usage, routing options, C2D/D2C patterns, pricing and tiers, and methods for monitoring device connections.
Architecture & Design PatternsL75-L81Design patterns for DPS lifecycle/HA/DR, VNet connectivity, secure device streams, and reliably persisting ordered IoT Hub events with Cosmos DB.
Limits & QuotasL82-L88Limits, quotas, and throttling for IoT Hub, Device Provisioning Service, and Device Update, including per‑service caps, scaling behavior, and what happens when limits are exceeded.
SecurityL89-L127Securing IoT Hub, DPS, and Device Update: auth (Entra ID/RBAC, SAS, X.509), certificates and key rotation, TLS/ciphers, IP/network controls, private endpoints, policies, and best practices.
ConfigurationL128-L160Configuring IoT Hub and DPS behavior: device/module twins, jobs, messaging, routing, enrichments, protocols, IPs/endpoints, Device Update manifests, file upload, and monitoring settings.
Integrations & Coding PatternsL161-L185Patterns and code samples for connecting devices/DPUs to IoT Hub/DPS (MQTT/HTTPS/AMQP), managing identities, twins, methods, jobs, file upload, and message formats/endpoints.
DeploymentL186-L200Deploying and updating IoT devices and IoT Hub: Device Update setup/agents, delta/image/package updates, failover, platform support, migrations, and job scheduling.

Troubleshooting

TopicURL
Diagnose and fix common Azure DPS provisioning errorshttps://learn.microsoft.com/en-us/azure/iot-dps/how-to-troubleshoot-dps
Reference monitoring data for Azure IoT DPShttps://learn.microsoft.com/en-us/azure/iot-dps/monitor-iot-dps-reference
Use Agent Check to diagnose missing Device Update deviceshttps://learn.microsoft.com/en-us/azure/iot-hub-device-update/device-update-agent-check
Use Device Update diagnostics, error codes, and logshttps://learn.microsoft.com/en-us/azure/iot-hub-device-update/device-update-diagnostics
Interpret Device Update for IoT Hub error codeshttps://learn.microsoft.com/en-us/azure/iot-hub-device-update/device-update-error-codes
Collect and review Device Update diagnostic logs remotelyhttps://learn.microsoft.com/en-us/azure/iot-hub-device-update/device-update-log-collection
Resolve proxy update import errors in Device Updatehttps://learn.microsoft.com/en-us/azure/iot-hub-device-update/device-update-proxy-update-troubleshooting
Diagnose and fix common Device Update issueshttps://learn.microsoft.com/en-us/azure/iot-hub-device-update/troubleshoot-device-update
Fix storage permission errors when importing Device Updateshttps://learn.microsoft.com/en-us/azure/iot-hub-device-update/troubleshoot-storage
Collect device debug logs using IoT SDKshttps://learn.microsoft.com/en-us/azure/iot-hub/how-to-collect-device-logs
Diagnose and fix Azure IoT Hub device connectivityhttps://learn.microsoft.com/en-us/azure/iot-hub/iot-hub-troubleshoot-connectivity
Resolve Azure IoT Hub error codeshttps://learn.microsoft.com/en-us/azure/iot-hub/troubleshoot-error-codes
Troubleshoot Azure IoT Hub message routing issueshttps://learn.microsoft.com/en-us/azure/iot-hub/troubleshoot-message-routing

Best Practices

TopicURL
Apply DPS best practices for large-scale IoT deploymentshttps://learn.microsoft.com/en-us/azure/iot-dps/concepts-deploy-at-scale
Implement OEM security practices for DPS-enabled deviceshttps://learn.microsoft.com/en-us/azure/iot-dps/concepts-device-oem-security-practices
Design resilient Azure IoT Hub device reconnectionhttps://learn.microsoft.com/en-us/azure/iot-hub/concepts-manage-device-reconnections
Apply IoT Hub automatic device configuration best practiceshttps://learn.microsoft.com/en-us/azure/iot-hub/iot-hub-configuration-best-practices

Decision Making

TopicURL
Decide when to disable IoT Hub disaster recoveryhttps://learn.microsoft.com/en-us/azure/iot-hub/how-to-disable-dr
Decide between Azure IoT Hub and Event Hubshttps://learn.microsoft.com/en-us/azure/iot-hub/iot-hub-compare-event-hubs
Choose IoT Hub cloud-to-device communication optionhttps://learn.microsoft.com/en-us/azure/iot-hub/iot-hub-devguide-c2d-guidance
Choose IoT Hub device-to-cloud communication optionhttps://learn.microsoft.com/en-us/azure/iot-hub/iot-hub-devguide-d2c-guidance
Understand Azure IoT Hub pricing and meteringhttps://learn.microsoft.com/en-us/azure/iot-hub/iot-hub-devguide-pricing
Decide between IoT Hub routing and Event Gridhttps://learn.microsoft.com/en-us/azure/iot-hub/iot-hub-event-grid-routing-comparison
Select the right Azure IoT Hub tier and scalehttps://learn.microsoft.com/en-us/azure/iot-hub/iot-hub-scaling
Select and upgrade Azure IoT Hub tier and sizehttps://learn.microsoft.com/en-us/azure/iot-hub/iot-hub-upgrade
Choose IoT Hub device connection monitoring methodhttps://learn.microsoft.com/en-us/azure/iot-hub/monitor-device-connection-state

Architecture & Design Patterns

TopicURL
Plan DPS device lifecycle and reprovisioning policieshttps://learn.microsoft.com/en-us/azure/iot-dps/concepts-device-reprovision
Design DPS high availability and disaster recoveryhttps://learn.microsoft.com/en-us/azure/iot-dps/iot-dps-ha-dr
Use virtual network connectivity patterns with DPShttps://learn.microsoft.com/en-us/azure/iot-dps/virtual-network-support

Limits & Quotas

TopicURL
Azure IoT DPS FAQs on limits and behaviorhttps://learn.microsoft.com/en-us/azure/iot-dps/dps-faq
Review Azure Device Update service limitshttps://learn.microsoft.com/en-us/azure/iot-hub-device-update/device-update-limits
Azure IoT Hub quotas, limits, and throttling behaviorhttps://learn.microsoft.com/en-us/azure/iot-hub/iot-hub-devguide-quotas-throttling

Security

TopicURL
Secure DPS APIs using Microsoft Entra ID and RBAChttps://learn.microsoft.com/en-us/azure/iot-dps/concepts-control-access-dps-azure-ad
Configure DPS access control with SAS tokenshttps://learn.microsoft.com/en-us/azure/iot-dps/how-to-control-access
Revoke or disenroll device access in DPS securelyhttps://learn.microsoft.com/en-us/azure/iot-dps/how-to-revoke-device-access-portal
Roll and update X.509 certificates in DPShttps://learn.microsoft.com/en-us/azure/iot-dps/how-to-roll-certificates
Deprovision DPS devices and revoke IoT Hub accesshttps://learn.microsoft.com/en-us/azure/iot-dps/how-to-unprovision-devices
Verify X.509 CA certificates with DPS proof-of-possessionhttps://learn.microsoft.com/en-us/azure/iot-dps/how-to-verify-certificates
Configure IP filtering rules for Azure IoT DPShttps://learn.microsoft.com/en-us/azure/iot-dps/iot-dps-ip-filtering
Manage public network access and private endpoints for DPShttps://learn.microsoft.com/en-us/azure/iot-dps/public-network-access
Configure TLS versions and ciphers for DPS connectionshttps://learn.microsoft.com/en-us/azure/iot-dps/tls-support
Assign RBAC roles for Device Update and IoT Hubhttps://learn.microsoft.com/en-us/azure/iot-hub-device-update/configure-access-control-device-update
Set up private endpoints for Device Update accountshttps://learn.microsoft.com/en-us/azure/iot-hub-device-update/configure-private-endpoints
Configure RBAC and Entra auth for Device Updatehttps://learn.microsoft.com/en-us/azure/iot-hub-device-update/device-update-control-access
Configure data encryption and CMKs for Device Updatehttps://learn.microsoft.com/en-us/azure/iot-hub-device-update/device-update-data-encryption
Configure network ports for Device Update traffichttps://learn.microsoft.com/en-us/azure/iot-hub-device-update/device-update-networking
Manage root key rotation for Device Updatehttps://learn.microsoft.com/en-us/azure/iot-hub-device-update/device-update-rootkey
Understand end-to-end security in Device Updatehttps://learn.microsoft.com/en-us/azure/iot-hub-device-update/device-update-security
Configure TLS download security for Device Updatehttps://learn.microsoft.com/en-us/azure/iot-hub-device-update/device-update-tls-download
Configure network security and private access for Device Updatehttps://learn.microsoft.com/en-us/azure/iot-hub-device-update/network-security
Secure IoT Hub APIs with Microsoft Entra ID and RBAChttps://learn.microsoft.com/en-us/azure/iot-hub/authenticate-authorize-azure-ad
Control IoT Hub access with SAS tokenshttps://learn.microsoft.com/en-us/azure/iot-hub/authenticate-authorize-sas
Authenticate IoT Hub devices with X.509 certificateshttps://learn.microsoft.com/en-us/azure/iot-hub/authenticate-authorize-x509
Manage IoT Hub device identities and connection stringshttps://learn.microsoft.com/en-us/azure/iot-hub/create-connect-device
Use Azure IoT Hub identity registry for device managementhttps://learn.microsoft.com/en-us/azure/iot-hub/iot-hub-devguide-identity-registry
Configure IP filtering rules for Azure IoT Hubhttps://learn.microsoft.com/en-us/azure/iot-hub/iot-hub-ip-filtering
Use managed identities with Azure IoT Hub egresshttps://learn.microsoft.com/en-us/azure/iot-hub/iot-hub-managed-identity
Manage public network access for Azure IoT Hubhttps://learn.microsoft.com/en-us/azure/iot-hub/iot-hub-public-network-access
Restrict IoT Hub outbound network access for DLPhttps://learn.microsoft.com/en-us/azure/iot-hub/iot-hub-restrict-outbound-network-access
Configure TLS versions and cipher suites for Azure IoT Hubhttps://learn.microsoft.com/en-us/azure/iot-hub/iot-hub-tls-support
Migrate IoT Hub TLS root certificate to DigiCert G2https://learn.microsoft.com/en-us/azure/iot-hub/migrate-tls-certificate
Built-in Azure Policy definitions for IoT Hubhttps://learn.microsoft.com/en-us/azure/iot-hub/policy-reference
Regenerate IoT Hub shared access keys safelyhttps://learn.microsoft.com/en-us/azure/iot-hub/regenerate-keys
Apply security best practices to Azure IoT Hubhttps://learn.microsoft.com/en-us/azure/iot-hub/secure-azure-iot-hub
Azure Policy compliance controls for IoT Hubhttps://learn.microsoft.com/en-us/azure/iot-hub/security-controls-policy
Create and upload X.509 test certificates for IoT Hubhttps://learn.microsoft.com/en-us/azure/iot-hub/tutorial-x509-test-certs
Use virtual network and Private Link connectivity with Azure IoT Hubhttps://learn.microsoft.com/en-us/azure/iot-hub/virtual-network-support

Configuration

TopicURL
Manage DPS device enrollments in Azure portalhttps://learn.microsoft.com/en-us/azure/iot-dps/how-to-manage-enrollments
Configure DPS allocation policies across IoT hubshttps://learn.microsoft.com/en-us/azure/iot-dps/how-to-use-allocation-policies
Query and manage DPS instance IP address propertieshttps://learn.microsoft.com/en-us/azure/iot-dps/iot-dps-understand-ip-address
Create apt manifests for package-based Device Updateshttps://learn.microsoft.com/en-us/azure/iot-hub-device-update/device-update-apt-manifest
Configure adu-config.json for Device Update agenthttps://learn.microsoft.com/en-us/azure/iot-hub-device-update/device-update-configuration-file
Configure multistep execution in Device Update manifestshttps://learn.microsoft.com/en-us/azure/iot-hub-device-update/device-update-multi-step-updates
Author JSON import manifests for Device Updatehttps://learn.microsoft.com/en-us/azure/iot-hub-device-update/import-schema
Configure related files in Device Update import manifestshttps://learn.microsoft.com/en-us/azure/iot-hub-device-update/related-files
Define update manifest payloads for Device Updatehttps://learn.microsoft.com/en-us/azure/iot-hub-device-update/update-manifest
Configure IoT Hub file upload to Azure Storagehttps://learn.microsoft.com/en-us/azure/iot-hub/iot-hub-configure-file-upload
Handle customer data requests for IoT Hub deviceshttps://learn.microsoft.com/en-us/azure/iot-hub/iot-hub-customer-data-requests
Understand and configure Azure IoT Hub device twinshttps://learn.microsoft.com/en-us/azure/iot-hub/iot-hub-devguide-device-twins
Configure and use IoT Hub direct methodshttps://learn.microsoft.com/en-us/azure/iot-hub/iot-hub-devguide-direct-methods
Use IoT Hub file upload for large device datahttps://learn.microsoft.com/en-us/azure/iot-hub/iot-hub-devguide-file-upload
Configure and manage Azure IoT Hub jobs for device fleetshttps://learn.microsoft.com/en-us/azure/iot-hub/iot-hub-devguide-jobs
Configure cloud-to-device messaging in IoT Hubhttps://learn.microsoft.com/en-us/azure/iot-hub/iot-hub-devguide-messages-c2d
Define and use Azure IoT Hub message formathttps://learn.microsoft.com/en-us/azure/iot-hub/iot-hub-devguide-messages-construct
Configure IoT Hub device-to-cloud message routinghttps://learn.microsoft.com/en-us/azure/iot-hub/iot-hub-devguide-messages-d2c
Understand and configure Azure IoT Hub module twinshttps://learn.microsoft.com/en-us/azure/iot-hub/iot-hub-devguide-module-twins
Configure IoT Hub communication protocols and portshttps://learn.microsoft.com/en-us/azure/iot-hub/iot-hub-devguide-protocols
Use IoT Hub message routing query languagehttps://learn.microsoft.com/en-us/azure/iot-hub/iot-hub-devguide-routing-query-syntax
Configure message enrichments in Azure IoT Hubhttps://learn.microsoft.com/en-us/azure/iot-hub/iot-hub-message-enrichments-overview
Non-telemetry event schemas for Azure IoT Hubhttps://learn.microsoft.com/en-us/azure/iot-hub/iot-hub-non-telemetry-event-schema
Configure IoT Hub private endpoints for TLS 1.3 hostnameshttps://learn.microsoft.com/en-us/azure/iot-hub/iot-hub-tls-1-3-update-private-endpoint
Understand and manage Azure IoT Hub IP addresseshttps://learn.microsoft.com/en-us/azure/iot-hub/iot-hub-understand-ip-address
Manage IoT Hub device and module twins via portal and CLIhttps://learn.microsoft.com/en-us/azure/iot-hub/manage-device-twins
Reference metrics and logs for monitoring Azure IoT Hubhttps://learn.microsoft.com/en-us/azure/iot-hub/monitor-iot-hub-reference
Use the Azure IoT Hub VS Code extensionhttps://learn.microsoft.com/en-us/azure/iot-hub/reference-iot-hub-extension
Set up and use IoT Hub message enrichmentshttps://learn.microsoft.com/en-us/azure/iot-hub/tutorial-message-enrichments

Integrations & Coding Patterns

TopicURL
Send additional payload data between devices and DPShttps://learn.microsoft.com/en-us/azure/iot-dps/how-to-send-additional-data
Use raw HTTPS with DPS symmetric key provisioninghttps://learn.microsoft.com/en-us/azure/iot-dps/iot-dps-https-sym-key-support
Use raw HTTPS with DPS X.509 certificate provisioninghttps://learn.microsoft.com/en-us/azure/iot-dps/iot-dps-https-x509-support
Connect devices to Azure IoT DPS over MQTThttps://learn.microsoft.com/en-us/azure/iot-dps/iot-mqtt-connect-to-iot-dps
Programmatically create DPS TPM individual enrollmentshttps://learn.microsoft.com/en-us/azure/iot-dps/quick-enroll-device-tpm
Programmatically create DPS X.509 enrollment groupshttps://learn.microsoft.com/en-us/azure/iot-dps/quick-enroll-device-x509
Implement Device Update component enumerator via proxyhttps://learn.microsoft.com/en-us/azure/iot-hub-device-update/components-enumerator
Use Device Update agent status API on deviceshttps://learn.microsoft.com/en-us/azure/iot-hub-device-update/device-update-agent-status
Send and receive IoT Hub cloud-to-device messages with SDKshttps://learn.microsoft.com/en-us/azure/iot-hub/how-to-cloud-to-device-messaging
Implement device management actions using IoT Hub direct methodshttps://learn.microsoft.com/en-us/azure/iot-hub/how-to-device-management
Use IoT Hub device and service SDKs with device twinshttps://learn.microsoft.com/en-us/azure/iot-hub/how-to-device-twins
Upload device files to cloud using IoT Hub SDKshttps://learn.microsoft.com/en-us/azure/iot-hub/how-to-file-upload
Use module identities and twins with IoT Hubhttps://learn.microsoft.com/en-us/azure/iot-hub/how-to-module-twins
Use IoT Hub service SDK to schedule broadcast jobshttps://learn.microsoft.com/en-us/azure/iot-hub/how-to-schedule-broadcast-jobs
Use AMQP protocol with Azure IoT Hub endpointshttps://learn.microsoft.com/en-us/azure/iot-hub/iot-hub-amqp-support
Bulk import and export IoT Hub device identitieshttps://learn.microsoft.com/en-us/azure/iot-hub/iot-hub-bulk-identity-mgmt
Read IoT Hub messages from built-in endpointhttps://learn.microsoft.com/en-us/azure/iot-hub/iot-hub-devguide-messages-read-builtin
Connect devices to Azure IoT Hub using MQTThttps://learn.microsoft.com/en-us/azure/iot-hub/iot-mqtt-connect-to-iot-hub
Control IoT devices via direct methods using .NET sampleshttps://learn.microsoft.com/en-us/azure/iot-hub/quickstart-control-device
Use PowerShell script to self-sign IoT Hub CSR certificateshttps://learn.microsoft.com/en-us/azure/iot-hub/reference-self-sign-script
Connect IoT devices to Azure IoT Hub via MQTThttps://learn.microsoft.com/en-us/azure/iot-hub/tutorial-use-mqtt

Deployment

TopicURL
Generate and deploy delta updates with Device Updatehttps://learn.microsoft.com/en-us/azure/iot-hub-device-update/deploy-delta-updates
Deploy device updates with Azure IoT Hub Device Updatehttps://learn.microsoft.com/en-us/azure/iot-hub-device-update/deploy-update
Provision Device Update agent as IoT Edge modulehttps://learn.microsoft.com/en-us/azure/iot-hub-device-update/device-update-agent-provisioning
Perform proxy updates with Device Update for IoT Hubhttps://learn.microsoft.com/en-us/azure/iot-hub-device-update/device-update-howto-proxy-updates
Deploy image-based Device Update on Raspberry Pihttps://learn.microsoft.com/en-us/azure/iot-hub-device-update/device-update-raspberry-pi
Use regional failover mappings for Device Updatehttps://learn.microsoft.com/en-us/azure/iot-hub-device-update/device-update-region-mapping
Deploy package-based Device Update with Ubuntu agenthttps://learn.microsoft.com/en-us/azure/iot-hub-device-update/device-update-ubuntu-agent
Check supported platforms for Device Updatehttps://learn.microsoft.com/en-us/azure/iot-hub-device-update/support
Deploy IoT Hub with Device Registry and X.509https://learn.microsoft.com/en-us/azure/iot-hub/iot-hub-device-registry-setup
Manually migrate Azure IoT Hub across regions or SKUshttps://learn.microsoft.com/en-us/azure/iot-hub/migrate-hub-arm
Migrate Azure IoT Hub using Azure CLI state commandshttps://learn.microsoft.com/en-us/azure/iot-hub/migrate-hub-state-cli
Schedule IoT Hub jobs for device groups using Azure CLIhttps://learn.microsoft.com/en-us/azure/iot-hub/schedule-jobs-cli

Signals

GitHub stars
740
Forks
119
Last commit
Sep 2026

ahel review

  • S4info
    community integration — published by microsoftdocs, not azure

Automated review, not a security audit. Ruleset v1.

Advanced
Catalog kind
skill
Gateway key
azure-iot-hub
Source
github.com/microsoftdocs/agent-skills