Skillshub azure-iot-hub

Azure IoT Hub Skill

install
source · Clone the upstream repo
git clone https://github.com/ComeOnOliver/skillshub
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/ComeOnOliver/skillshub "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/MicrosoftDocs/Agent-Skills/azure-iot-hub" ~/.claude/skills/comeonoliver-skillshub-azure-iot-hub && rm -rf "$T"
manifest: skills/MicrosoftDocs/Agent-Skills/azure-iot-hub/SKILL.md
source content

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, proxy/storage errors, error codes, and collecting/using diagnostic and device logs.
Best PracticesL54-L62Best practices for secure, large-scale IoT Hub and DPS deployments, including OEM device security, automatic device configuration, and using device twins to sync config and status.
Decision MakingL63-L75Guidance for choosing IoT Hub vs alternatives, tiers/scale, pricing, routing, comms patterns (C2D/D2C), monitoring methods, and when to use or disable disaster recovery.
Architecture & Design PatternsL76-L84Design patterns for DPS lifecycle/HA/DR, VNet connectivity, secure device streams, and reliably persisting ordered IoT Hub events with Cosmos DB.
Limits & QuotasL85-L90Details on IoT Hub and Device Update service limits, quotas, throttling behavior, and how many devices/operations you can scale to before hitting constraints.
SecurityL91-L127Securing IoT Hub and DPS: auth (Entra ID, RBAC, SAS, X.509), cert/key rotation, TLS/ciphers, network isolation (IP filters, private endpoints, VNet), Device Update security, and policy/compliance.
ConfigurationL128-L171Configuring IoT Hub and DPS behavior: enroll devices, set allocation and routing, twins, jobs, endpoints, tracing, message enrichments, file upload, Device Update manifests, and monitoring/logging.
Integrations & Coding PatternsL172-L193Device-to-cloud integration patterns: DPS provisioning via HTTPS, IoT Hub SDK usage (twins, methods, C2D, modules, jobs), message formats, routing, bulk identity ops, and file uploads.
DeploymentL194-L207Deploying and updating IoT Hubs and devices: region/SKU migration, failover, ARM/Bicep deployments, Device Update (image/package, proxy, OS support), and scheduling jobs via CLI.

Troubleshooting

TopicURL
Diagnose and fix common Azure DPS provisioning errorshttps://learn.microsoft.com/en-us/azure/iot-dps/how-to-troubleshoot-dps
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
Monitor and troubleshoot 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
Troubleshoot device connectivity to Azure IoT Hubhttps://learn.microsoft.com/en-us/azure/iot-hub/tutorial-connectivity

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
Apply IoT Hub automatic device configuration best practiceshttps://learn.microsoft.com/en-us/azure/iot-hub/iot-hub-configuration-best-practices
Apply security best practices to Azure IoT Hubhttps://learn.microsoft.com/en-us/azure/iot-hub/secure-azure-iot-hub
Synchronize device configuration and status using device twinshttps://learn.microsoft.com/en-us/azure/iot-hub/tutorial-device-twins

Decision Making

TopicURL
Decide when to disable IoT Hub disaster recoveryhttps://learn.microsoft.com/en-us/azure/iot-hub/how-to-disable-dr
Choose 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
Use IoT Hub device streams for secure TCP tunnelinghttps://learn.microsoft.com/en-us/azure/iot-hub/iot-hub-device-streams-overview
Persist ordered IoT Hub connection events with Cosmos DBhttps://learn.microsoft.com/en-us/azure/iot-hub/iot-hub-how-to-order-connection-state-events

Limits & Quotas

TopicURL
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
Prepare for Device Update root key rotationshttps://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 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
TLS versions and cipher requirements for 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
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
Connect Azure IoT Hub with virtual networks securelyhttps://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
Link and manage IoT hubs in DPShttps://learn.microsoft.com/en-us/azure/iot-dps/how-to-manage-linked-iot-hubs
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
Reference for Azure DPS monitoring metrics and logshttps://learn.microsoft.com/en-us/azure/iot-dps/monitor-iot-dps-reference
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 agentshttps://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
Define IoT Hub routes and endpoints via ARM templateshttps://learn.microsoft.com/en-us/azure/iot-hub/how-to-routing-arm
Manage IoT Hub routes and endpoints with Azure CLIhttps://learn.microsoft.com/en-us/azure/iot-hub/how-to-routing-azure-cli
Configure IoT Hub routes and endpoints in Azure portalhttps://learn.microsoft.com/en-us/azure/iot-hub/how-to-routing-portal
Manage IoT Hub routes and endpoints with PowerShellhttps://learn.microsoft.com/en-us/azure/iot-hub/how-to-routing-powershell
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
Configure and use Azure IoT Hub device and service endpointshttps://learn.microsoft.com/en-us/azure/iot-hub/iot-hub-devguide-endpoints
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
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 Azure IoT Hub query language for twins and jobshttps://learn.microsoft.com/en-us/azure/iot-hub/iot-hub-devguide-query-language
Use IoT Hub message routing query languagehttps://learn.microsoft.com/en-us/azure/iot-hub/iot-hub-devguide-routing-query-syntax
Deploy IoT Hub with ADR and certificate management settingshttps://learn.microsoft.com/en-us/azure/iot-hub/iot-hub-device-registry-setup
Configure distributed tracing for Azure IoT Hub messageshttps://learn.microsoft.com/en-us/azure/iot-hub/iot-hub-distributed-tracing
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
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
Monitoring metrics and logs reference for IoT Hubhttps://learn.microsoft.com/en-us/azure/iot-hub/monitor-iot-hub-reference
Run and interpret queries on Azure IoT Hub jobshttps://learn.microsoft.com/en-us/azure/iot-hub/query-jobs
Query IoT Hub device and module twinshttps://learn.microsoft.com/en-us/azure/iot-hub/query-twins
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
Configure IoT Hub message routing to Azure Storagehttps://learn.microsoft.com/en-us/azure/iot-hub/tutorial-routing

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
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
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
Construct Azure IoT Hub message formatshttps://learn.microsoft.com/en-us/azure/iot-hub/iot-hub-devguide-messages-construct
Read IoT Hub messages from built-in endpointhttps://learn.microsoft.com/en-us/azure/iot-hub/iot-hub-devguide-messages-read-builtin
Route IoT Hub telemetry to Blob and query Avro with ADLAhttps://learn.microsoft.com/en-us/azure/iot-hub/iot-hub-query-avro-data
Control IoT devices via direct methods using .NET sampleshttps://learn.microsoft.com/en-us/azure/iot-hub/quickstart-control-device

Deployment

TopicURL
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 OS and component support for Device Updatehttps://learn.microsoft.com/en-us/azure/iot-hub-device-update/support
Deploy IoT Hub and routing to storage with ARM templatehttps://learn.microsoft.com/en-us/azure/iot-hub/horizontal-arm-route-messages
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
Deploy IoT Hub and message routing to storage with Bicephttps://learn.microsoft.com/en-us/azure/iot-hub/quickstart-bicep-route-messages
Schedule IoT Hub jobs for device groups using Azure CLIhttps://learn.microsoft.com/en-us/azure/iot-hub/schedule-jobs-cli
Perform manual failover for an Azure IoT hubhttps://learn.microsoft.com/en-us/azure/iot-hub/tutorial-manual-failover