mcpField
A
azure-iot-hub

azure-iot-hub

github.com/microsoftdocsCloud & DevOps796170 installsUpdated 3d ago
Repository

About azure-iot-hub

azure-iot-hub is a guidance skill for developers and operators working with Azure IoT Hub, DPS, and Device Update. It combines local reference material with remote documentation fetching for troubleshooting, design, security, and deployment.

Key features

  1. 01Troubleshooting guidance
  2. 02Best practices and design patterns
  3. 03Limits, quotas, and scaling
  4. 04Security and configuration advice
  5. 05Integration and deployment guidance

Use cases

  1. 01Diagnosing device connectivity or provisioning errors
  2. 02Planning secure IoT device deployments
  3. 03Choosing IoT Hub tiers and messaging patterns

MCP support

The skill can fetch Microsoft documentation using the mcp_microsoftdocs microsoft_docs_fetch tool, with webpage fetching as a fallback.

Install

Copy the command and run it in a terminal.

$npx skills add https://github.com/microsoftdocs/agent-skills --skill azure-iot-hub

After installing, type/azure-iot-hubin Claude Code to confirm it loaded.

Details

From the project README

Azure IoT Hub Skill

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, and Device Update issues: connectivity, routing, provisioning errors, error codes, and collecting/using device and service diagnostic logs.
Best PracticesL54-L61Best practices for large-scale DPS provisioning, OEM device security, resilient device reconnection patterns, and automatic device configuration in Azure IoT Hub.
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, RBAC, SAS, X.509), certificates/keys, TLS/ciphers, IP/VNet/private endpoints, outbound/DLP, and security best practices/policies.
ConfigurationL128-L159Configuring 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 PatternsL160-L184Device-to-cloud integration patterns: DPS provisioning (HTTPS/MQTT, symmetric/X.509/TPM), IoT Hub messaging, twins, direct methods, file upload, modules, bulk ops, and protocol usage.
DeploymentL185-L198Deploying 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
Diagnose missing devices with Device Update agent checkhttps://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
Implement resilient device reconnection for Azure IoT Hubhttps://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
Configure Entra ID and RBAC for IoT DPS accesshttps://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
Configure Microsoft Entra ID and RBAC for Azure IoT Hubhttps://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
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
Use sample script to self-sign IoT Hub test certificateshttps://learn.microsoft.com/en-us/azure/iot-hub/reference-self-sign-script
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
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
Use Azure DPS SDKs for device provisioninghttps://learn.microsoft.com/en-us/azure/iot-dps/libraries-sdks
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
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
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

Comments

Markdown supported