{"id":"b7d23a69-df9e-41c3-a03f-f21771575f7c","shortId":"52aHXJ","kind":"skill","title":"azure-iot-hub","tagline":"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 provisioning devices via DPS, managing twi","description":"# Azure IoT Hub Skill\n\nThis 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.\n\n## How to Use This Skill\n\n> **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\n\n> **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](https://github.com/MicrosoftDocs/mcp/blob/main/README.md)\n\nThis skill requires **network access** to fetch documentation content:\n- **Preferred**: Use `mcp_microsoftdocs:microsoft_docs_fetch` with query string `from=learn-agent-skill`. Returns Markdown.\n- **Fallback**: Use `fetch_webpage` with query string `from=learn-agent-skill&accept=text/markdown`. Returns Markdown.\n\n## Category Index\n\n| Category | Lines | Description |\n|----------|-------|-------------|\n| Troubleshooting | L37-L53 | Diagnosing and fixing IoT Hub, DPS, and Device Update issues: connectivity, routing, proxy/storage errors, error codes, and collecting/using diagnostic and device logs. |\n| Best Practices | L54-L63 | Best 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. |\n| Decision Making | L64-L76 | Guidance for choosing IoT Hub vs alternatives, tiers/scale, pricing, routing, comms patterns (C2D/D2C), monitoring methods, and when to use or disable disaster recovery. |\n| Architecture & Design Patterns | L77-L83 | Design patterns for DPS lifecycle/HA/DR, VNet connectivity, secure device streams, and reliably persisting ordered IoT Hub events with Cosmos DB. |\n| Limits & Quotas | L84-L89 | Details on IoT Hub and Device Update service limits, quotas, throttling behavior, and how many devices/operations you can scale to before hitting constraints. |\n| Security | L90-L128 | Securing IoT Hub, DPS, and Device Update: auth (Entra ID, RBAC, SAS, X.509), certificates and revocation, TLS/ciphers, keys, network/IP controls, private endpoints, and Azure Policy compliance. |\n| Configuration | L129-L170 | Configuring IoT Hub and DPS: enroll devices, manage certificates and ADR, set twins, jobs, routing, endpoints, file upload, message enrichments, queries, and monitoring/metrics/logs. |\n| Integrations & Coding Patterns | L171-L195 | Patterns and code samples for connecting devices/DPS to IoT Hub (MQTT/HTTPS/AMQP), managing identities/twins/files, direct methods, C2D messages, bulk ops, and message formats. |\n| Deployment | L196-L207 | Deploying 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. |\n\n### Troubleshooting\n| Topic | URL |\n|-------|-----|\n| Diagnose and fix common Azure DPS provisioning errors | https://learn.microsoft.com/en-us/azure/iot-dps/how-to-troubleshoot-dps |\n| Use Agent Check to diagnose missing Device Update devices | https://learn.microsoft.com/en-us/azure/iot-hub-device-update/device-update-agent-check |\n| Use Device Update diagnostics, error codes, and logs | https://learn.microsoft.com/en-us/azure/iot-hub-device-update/device-update-diagnostics |\n| Interpret Device Update for IoT Hub error codes | https://learn.microsoft.com/en-us/azure/iot-hub-device-update/device-update-error-codes |\n| Collect and review Device Update diagnostic logs remotely | https://learn.microsoft.com/en-us/azure/iot-hub-device-update/device-update-log-collection |\n| Resolve proxy update import errors in Device Update | https://learn.microsoft.com/en-us/azure/iot-hub-device-update/device-update-proxy-update-troubleshooting |\n| Diagnose and fix common Device Update issues | https://learn.microsoft.com/en-us/azure/iot-hub-device-update/troubleshoot-device-update |\n| Fix storage permission errors when importing Device Updates | https://learn.microsoft.com/en-us/azure/iot-hub-device-update/troubleshoot-storage |\n| Collect device debug logs using IoT SDKs | https://learn.microsoft.com/en-us/azure/iot-hub/how-to-collect-device-logs |\n| Monitor and troubleshoot IoT Hub device connectivity | https://learn.microsoft.com/en-us/azure/iot-hub/iot-hub-troubleshoot-connectivity |\n| Resolve Azure IoT Hub error codes | https://learn.microsoft.com/en-us/azure/iot-hub/troubleshoot-error-codes |\n| Troubleshoot Azure IoT Hub message routing issues | https://learn.microsoft.com/en-us/azure/iot-hub/troubleshoot-message-routing |\n| Troubleshoot device connectivity to Azure IoT Hub | https://learn.microsoft.com/en-us/azure/iot-hub/tutorial-connectivity |\n\n### Best Practices\n| Topic | URL |\n|-------|-----|\n| Apply DPS best practices for large-scale IoT deployments | https://learn.microsoft.com/en-us/azure/iot-dps/concepts-deploy-at-scale |\n| Implement OEM security practices for DPS-enabled devices | https://learn.microsoft.com/en-us/azure/iot-dps/concepts-device-oem-security-practices |\n| Plan and execute IoT certificate renewal with ADR | https://learn.microsoft.com/en-us/azure/iot-hub/concept-certificate-renewal |\n| Design resilient Azure IoT Hub device reconnection | https://learn.microsoft.com/en-us/azure/iot-hub/concepts-manage-device-reconnections |\n| Apply IoT Hub automatic device configuration best practices | https://learn.microsoft.com/en-us/azure/iot-hub/iot-hub-configuration-best-practices |\n| Apply security best practices to Azure IoT Hub | https://learn.microsoft.com/en-us/azure/iot-hub/secure-azure-iot-hub |\n\n### Decision Making\n| Topic | URL |\n|-------|-----|\n| Decide when to disable IoT Hub disaster recovery | https://learn.microsoft.com/en-us/azure/iot-hub/how-to-disable-dr |\n| Choose between Azure IoT Hub and Event Hubs | https://learn.microsoft.com/en-us/azure/iot-hub/iot-hub-compare-event-hubs |\n| Choose IoT Hub cloud-to-device communication option | https://learn.microsoft.com/en-us/azure/iot-hub/iot-hub-devguide-c2d-guidance |\n| Choose IoT Hub device-to-cloud communication option | https://learn.microsoft.com/en-us/azure/iot-hub/iot-hub-devguide-d2c-guidance |\n| Understand Azure IoT Hub pricing and metering | https://learn.microsoft.com/en-us/azure/iot-hub/iot-hub-devguide-pricing |\n| Decide between IoT Hub routing and Event Grid | https://learn.microsoft.com/en-us/azure/iot-hub/iot-hub-event-grid-routing-comparison |\n| Select the right Azure IoT Hub tier and scale | https://learn.microsoft.com/en-us/azure/iot-hub/iot-hub-scaling |\n| Select and upgrade Azure IoT Hub tier and size | https://learn.microsoft.com/en-us/azure/iot-hub/iot-hub-upgrade |\n| Choose IoT Hub device connection monitoring method | https://learn.microsoft.com/en-us/azure/iot-hub/monitor-device-connection-state |\n\n### Architecture & Design Patterns\n| Topic | URL |\n|-------|-----|\n| Plan DPS device lifecycle and reprovisioning policies | https://learn.microsoft.com/en-us/azure/iot-dps/concepts-device-reprovision |\n| Design DPS high availability and disaster recovery | https://learn.microsoft.com/en-us/azure/iot-dps/iot-dps-ha-dr |\n| Use virtual network connectivity patterns with DPS | https://learn.microsoft.com/en-us/azure/iot-dps/virtual-network-support |\n\n### Limits & Quotas\n| Topic | URL |\n|-------|-----|\n| Review Azure Device Update service limits | https://learn.microsoft.com/en-us/azure/iot-hub-device-update/device-update-limits |\n| Azure IoT Hub quotas, limits, and throttling behavior | https://learn.microsoft.com/en-us/azure/iot-hub/iot-hub-devguide-quotas-throttling |\n\n### Security\n| Topic | URL |\n|-------|-----|\n| Secure DPS APIs using Microsoft Entra ID and RBAC | https://learn.microsoft.com/en-us/azure/iot-dps/concepts-control-access-dps-azure-ad |\n| Configure DPS access control with SAS tokens | https://learn.microsoft.com/en-us/azure/iot-dps/how-to-control-access |\n| Revoke or disenroll device access in DPS securely | https://learn.microsoft.com/en-us/azure/iot-dps/how-to-revoke-device-access-portal |\n| Roll and update X.509 certificates in DPS | https://learn.microsoft.com/en-us/azure/iot-dps/how-to-roll-certificates |\n| Deprovision DPS devices and revoke IoT Hub access | https://learn.microsoft.com/en-us/azure/iot-dps/how-to-unprovision-devices |\n| Verify X.509 CA certificates with DPS proof-of-possession | https://learn.microsoft.com/en-us/azure/iot-dps/how-to-verify-certificates |\n| Configure IP filtering rules for Azure IoT DPS | https://learn.microsoft.com/en-us/azure/iot-dps/iot-dps-ip-filtering |\n| Manage public network access and private endpoints for DPS | https://learn.microsoft.com/en-us/azure/iot-dps/public-network-access |\n| Configure TLS versions and ciphers for DPS connections | https://learn.microsoft.com/en-us/azure/iot-dps/tls-support |\n| Assign RBAC roles for Device Update and IoT Hub | https://learn.microsoft.com/en-us/azure/iot-hub-device-update/configure-access-control-device-update |\n| Set up private endpoints for Device Update accounts | https://learn.microsoft.com/en-us/azure/iot-hub-device-update/configure-private-endpoints |\n| Configure RBAC and Entra auth for Device Update | https://learn.microsoft.com/en-us/azure/iot-hub-device-update/device-update-control-access |\n| Configure data encryption and CMKs for Device Update | https://learn.microsoft.com/en-us/azure/iot-hub-device-update/device-update-data-encryption |\n| Configure network ports for Device Update traffic | https://learn.microsoft.com/en-us/azure/iot-hub-device-update/device-update-networking |\n| Prepare for Device Update root key rotations | https://learn.microsoft.com/en-us/azure/iot-hub-device-update/device-update-rootkey |\n| Understand end-to-end security in Device Update | https://learn.microsoft.com/en-us/azure/iot-hub-device-update/device-update-security |\n| Configure network security and private access for Device Update | https://learn.microsoft.com/en-us/azure/iot-hub-device-update/network-security |\n| Secure IoT Hub APIs with Microsoft Entra ID and RBAC | https://learn.microsoft.com/en-us/azure/iot-hub/authenticate-authorize-azure-ad |\n| Control IoT Hub access with SAS tokens | https://learn.microsoft.com/en-us/azure/iot-hub/authenticate-authorize-sas |\n| Authenticate IoT Hub devices with X.509 certificates | https://learn.microsoft.com/en-us/azure/iot-hub/authenticate-authorize-x509 |\n| Manage certificate revocation and policies for IoT Hub | https://learn.microsoft.com/en-us/azure/iot-hub/concepts-certificate-policy-management |\n| Manage IoT Hub device identities and connection strings | https://learn.microsoft.com/en-us/azure/iot-hub/create-connect-device |\n| Revoke device certificates and clean up ADR policies | https://learn.microsoft.com/en-us/azure/iot-hub/how-to-revoke-certificate-delete-policy |\n| Use Azure IoT Hub identity registry for device management | https://learn.microsoft.com/en-us/azure/iot-hub/iot-hub-devguide-identity-registry |\n| Configure IP filtering rules for Azure IoT Hub | https://learn.microsoft.com/en-us/azure/iot-hub/iot-hub-ip-filtering |\n| Use managed identities with Azure IoT Hub egress | https://learn.microsoft.com/en-us/azure/iot-hub/iot-hub-managed-identity |\n| Manage public network access for Azure IoT Hub | https://learn.microsoft.com/en-us/azure/iot-hub/iot-hub-public-network-access |\n| Restrict IoT Hub outbound network access for DLP | https://learn.microsoft.com/en-us/azure/iot-hub/iot-hub-restrict-outbound-network-access |\n| TLS versions and cipher requirements for IoT Hub | https://learn.microsoft.com/en-us/azure/iot-hub/iot-hub-tls-support |\n| Migrate IoT Hub TLS root certificate to DigiCert G2 | https://learn.microsoft.com/en-us/azure/iot-hub/migrate-tls-certificate |\n| Built-in Azure Policy definitions for IoT Hub | https://learn.microsoft.com/en-us/azure/iot-hub/policy-reference |\n| Regenerate IoT Hub shared access keys safely | https://learn.microsoft.com/en-us/azure/iot-hub/regenerate-keys |\n| Azure Policy compliance controls for IoT Hub | https://learn.microsoft.com/en-us/azure/iot-hub/security-controls-policy |\n| Create and upload X.509 test certificates for IoT Hub | https://learn.microsoft.com/en-us/azure/iot-hub/tutorial-x509-test-certs |\n| Connect Azure IoT Hub with virtual networks securely | https://learn.microsoft.com/en-us/azure/iot-hub/virtual-network-support |\n\n### Configuration\n| Topic | URL |\n|-------|-----|\n| Manage DPS device enrollments in Azure portal | https://learn.microsoft.com/en-us/azure/iot-dps/how-to-manage-enrollments |\n| Link and manage IoT hubs in DPS | https://learn.microsoft.com/en-us/azure/iot-dps/how-to-manage-linked-iot-hubs |\n| Configure DPS allocation policies across IoT hubs | https://learn.microsoft.com/en-us/azure/iot-dps/how-to-use-allocation-policies |\n| Query and manage DPS instance IP address properties | https://learn.microsoft.com/en-us/azure/iot-dps/iot-dps-understand-ip-address |\n| Reference for Azure DPS monitoring metrics and logs | https://learn.microsoft.com/en-us/azure/iot-dps/monitor-iot-dps-reference |\n| Create apt manifests for package-based Device Updates | https://learn.microsoft.com/en-us/azure/iot-hub-device-update/device-update-apt-manifest |\n| Configure adu-config.json for Device Update agents | https://learn.microsoft.com/en-us/azure/iot-hub-device-update/device-update-configuration-file |\n| Configure multistep execution in Device Update manifests | https://learn.microsoft.com/en-us/azure/iot-hub-device-update/device-update-multi-step-updates |\n| Author JSON import manifests for Device Update | https://learn.microsoft.com/en-us/azure/iot-hub-device-update/import-schema |\n| Configure related files in Device Update import manifests | https://learn.microsoft.com/en-us/azure/iot-hub-device-update/related-files |\n| Define update manifest payloads for Device Update | https://learn.microsoft.com/en-us/azure/iot-hub-device-update/update-manifest |\n| Configure ADR credential for Microsoft-backed certificates | https://learn.microsoft.com/en-us/azure/iot-hub/how-to-configure-credential |\n| Create or edit Microsoft-root CA policy in ADR | https://learn.microsoft.com/en-us/azure/iot-hub/how-to-create-policy |\n| Configure ADR policy with external root CA | https://learn.microsoft.com/en-us/azure/iot-hub/how-to-create-policy-external-certificate |\n| Disable or enable IoT devices in Azure Device Registry | https://learn.microsoft.com/en-us/azure/iot-hub/how-to-disable-enable-device |\n| Configure IoT Hub file upload to Azure Storage | https://learn.microsoft.com/en-us/azure/iot-hub/iot-hub-configure-file-upload |\n| Handle customer data requests for IoT Hub devices | https://learn.microsoft.com/en-us/azure/iot-hub/iot-hub-customer-data-requests |\n| Understand and configure Azure IoT Hub device twins | https://learn.microsoft.com/en-us/azure/iot-hub/iot-hub-devguide-device-twins |\n| Configure and use IoT Hub direct methods | https://learn.microsoft.com/en-us/azure/iot-hub/iot-hub-devguide-direct-methods |\n| Configure and use Azure IoT Hub device and service endpoints | https://learn.microsoft.com/en-us/azure/iot-hub/iot-hub-devguide-endpoints |\n| Use IoT Hub file upload for large device data | https://learn.microsoft.com/en-us/azure/iot-hub/iot-hub-devguide-file-upload |\n| Configure and manage Azure IoT Hub jobs for device fleets | https://learn.microsoft.com/en-us/azure/iot-hub/iot-hub-devguide-jobs |\n| Configure cloud-to-device messaging in IoT Hub | https://learn.microsoft.com/en-us/azure/iot-hub/iot-hub-devguide-messages-c2d |\n| Configure IoT Hub device-to-cloud message routing | https://learn.microsoft.com/en-us/azure/iot-hub/iot-hub-devguide-messages-d2c |\n| Understand and configure Azure IoT Hub module twins | https://learn.microsoft.com/en-us/azure/iot-hub/iot-hub-devguide-module-twins |\n| Configure IoT Hub communication protocols and ports | https://learn.microsoft.com/en-us/azure/iot-hub/iot-hub-devguide-protocols |\n| Use Azure IoT Hub query language for twins and jobs | https://learn.microsoft.com/en-us/azure/iot-hub/iot-hub-devguide-query-language |\n| Use IoT Hub message routing query language | https://learn.microsoft.com/en-us/azure/iot-hub/iot-hub-devguide-routing-query-syntax |\n| Deploy IoT Hub with ADR and certificate management | https://learn.microsoft.com/en-us/azure/iot-hub/iot-hub-device-registry-setup |\n| Configure message enrichments in Azure IoT Hub | https://learn.microsoft.com/en-us/azure/iot-hub/iot-hub-message-enrichments-overview |\n| Non-telemetry event schemas for Azure IoT Hub | https://learn.microsoft.com/en-us/azure/iot-hub/iot-hub-non-telemetry-event-schema |\n| Understand and manage Azure IoT Hub IP addresses | https://learn.microsoft.com/en-us/azure/iot-hub/iot-hub-understand-ip-address |\n| Manage IoT Hub device and module twins via portal and CLI | https://learn.microsoft.com/en-us/azure/iot-hub/manage-device-twins |\n| Reference metrics and logs for monitoring Azure IoT Hub | https://learn.microsoft.com/en-us/azure/iot-hub/monitor-iot-hub-reference |\n| Run and interpret queries on Azure IoT Hub jobs | https://learn.microsoft.com/en-us/azure/iot-hub/query-jobs |\n| Query IoT Hub device and module twins | https://learn.microsoft.com/en-us/azure/iot-hub/query-twins |\n| Use the Azure IoT Hub VS Code extension | https://learn.microsoft.com/en-us/azure/iot-hub/reference-iot-hub-extension |\n| Set up and use IoT Hub message enrichments | https://learn.microsoft.com/en-us/azure/iot-hub/tutorial-message-enrichments |\n\n### Integrations & Coding Patterns\n| Topic | URL |\n|-------|-----|\n| Send additional payload data between devices and DPS | https://learn.microsoft.com/en-us/azure/iot-dps/how-to-send-additional-data |\n| Use raw HTTPS with DPS symmetric key provisioning | https://learn.microsoft.com/en-us/azure/iot-dps/iot-dps-https-sym-key-support |\n| Use raw HTTPS with DPS X.509 certificate provisioning | https://learn.microsoft.com/en-us/azure/iot-dps/iot-dps-https-x509-support |\n| Connect devices to Azure IoT DPS over MQTT | https://learn.microsoft.com/en-us/azure/iot-dps/iot-mqtt-connect-to-iot-dps |\n| Programmatically create DPS TPM individual enrollments | https://learn.microsoft.com/en-us/azure/iot-dps/quick-enroll-device-tpm |\n| Programmatically create DPS X.509 enrollment groups | https://learn.microsoft.com/en-us/azure/iot-dps/quick-enroll-device-x509 |\n| Implement Device Update component enumerator via proxy | https://learn.microsoft.com/en-us/azure/iot-hub-device-update/components-enumerator |\n| Send and receive IoT Hub cloud-to-device messages with SDKs | https://learn.microsoft.com/en-us/azure/iot-hub/how-to-cloud-to-device-messaging |\n| Implement device management actions using IoT Hub direct methods | https://learn.microsoft.com/en-us/azure/iot-hub/how-to-device-management |\n| Use IoT Hub device and service SDKs with device twins | https://learn.microsoft.com/en-us/azure/iot-hub/how-to-device-twins |\n| Upload device files to cloud using IoT Hub SDKs | https://learn.microsoft.com/en-us/azure/iot-hub/how-to-file-upload |\n| Use module identities and twins with IoT Hub | https://learn.microsoft.com/en-us/azure/iot-hub/how-to-module-twins |\n| Use IoT Hub service SDK to schedule broadcast jobs | https://learn.microsoft.com/en-us/azure/iot-hub/how-to-schedule-broadcast-jobs |\n| Use AMQP protocol with Azure IoT Hub endpoints | https://learn.microsoft.com/en-us/azure/iot-hub/iot-hub-amqp-support |\n| Bulk import and export IoT Hub device identities | https://learn.microsoft.com/en-us/azure/iot-hub/iot-hub-bulk-identity-mgmt |\n| Construct Azure IoT Hub message formats | https://learn.microsoft.com/en-us/azure/iot-hub/iot-hub-devguide-messages-construct |\n| Read IoT Hub messages from built-in endpoint | https://learn.microsoft.com/en-us/azure/iot-hub/iot-hub-devguide-messages-read-builtin |\n| Connect devices to Azure IoT Hub using MQTT | https://learn.microsoft.com/en-us/azure/iot-hub/iot-mqtt-connect-to-iot-hub |\n| Control IoT devices via direct methods using .NET samples | https://learn.microsoft.com/en-us/azure/iot-hub/quickstart-control-device |\n| Use PowerShell script to self-sign IoT Hub CSR certificates | https://learn.microsoft.com/en-us/azure/iot-hub/reference-self-sign-script |\n| Connect IoT devices to Azure IoT Hub via MQTT | https://learn.microsoft.com/en-us/azure/iot-hub/tutorial-use-mqtt |\n\n### Deployment\n| Topic | URL |\n|-------|-----|\n| Perform proxy updates with Device Update for IoT Hub | https://learn.microsoft.com/en-us/azure/iot-hub-device-update/device-update-howto-proxy-updates |\n| Deploy image-based Device Update on Raspberry Pi | https://learn.microsoft.com/en-us/azure/iot-hub-device-update/device-update-raspberry-pi |\n| Use regional failover mappings for Device Update | https://learn.microsoft.com/en-us/azure/iot-hub-device-update/device-update-region-mapping |\n| Deploy package-based Device Update with Ubuntu agent | https://learn.microsoft.com/en-us/azure/iot-hub-device-update/device-update-ubuntu-agent |\n| Check OS and component support for Device Update | https://learn.microsoft.com/en-us/azure/iot-hub-device-update/support |\n| Manually migrate Azure IoT Hub across regions or SKUs | https://learn.microsoft.com/en-us/azure/iot-hub/migrate-hub-arm |\n| Migrate Azure IoT Hub using Azure CLI state commands | https://learn.microsoft.com/en-us/azure/iot-hub/migrate-hub-state-cli |\n| Schedule IoT Hub jobs for device groups using Azure CLI | https://learn.microsoft.com/en-us/azure/iot-hub/schedule-jobs-cli |\n| Perform manual failover for an Azure IoT hub | https://learn.microsoft.com/en-us/azure/iot-hub/tutorial-manual-failover |","tags":["azure","iot","hub","agent","skills","microsoftdocs","agent-skills","agentic-skills","agentskill","ai-agents","ai-coding","azure-functions"],"capabilities":["skill","source-microsoftdocs","skill-azure-iot-hub","topic-agent","topic-agent-skills","topic-agentic-skills","topic-agentskill","topic-ai-agents","topic-ai-coding","topic-azure","topic-azure-functions","topic-azure-kubernetes-service","topic-azure-openai","topic-azure-sql-database","topic-azure-storage"],"categories":["Agent-Skills"],"synonyms":[],"warnings":[],"endpointUrl":"https://skills.sh/MicrosoftDocs/Agent-Skills/azure-iot-hub","protocol":"skill","transport":"skills-sh","auth":{"type":"none","details":{"cli":"npx skills add MicrosoftDocs/Agent-Skills","source_repo":"https://github.com/MicrosoftDocs/Agent-Skills","install_from":"skills.sh"}},"qualityScore":"0.698","qualityRationale":"deterministic score 0.70 from registry signals: · indexed on github topic:agent-skills · 497 github stars · SKILL.md body (21,964 chars)","verified":false,"liveness":"unknown","lastLivenessCheck":null,"agentReviews":{"count":0,"score_avg":null,"cost_usd_avg":null,"success_rate":null,"latency_p50_ms":null,"narrative_summary":null,"summary_updated_at":null},"enrichmentModel":"deterministic:skill-github:v1","enrichmentVersion":1,"enrichedAt":"2026-04-22T06:53:33.758Z","embedding":null,"createdAt":"2026-04-18T21:59:17.543Z","updatedAt":"2026-04-22T06:53:33.758Z","lastSeenAt":"2026-04-22T06:53:33.758Z","tsv":"'/en-us/azure/iot-dps/concepts-control-access-dps-azure-ad':856 '/en-us/azure/iot-dps/concepts-deploy-at-scale':622 '/en-us/azure/iot-dps/concepts-device-oem-security-practices':634 '/en-us/azure/iot-dps/concepts-device-reprovision':797 '/en-us/azure/iot-dps/how-to-control-access':866 '/en-us/azure/iot-dps/how-to-manage-enrollments':1247 '/en-us/azure/iot-dps/how-to-manage-linked-iot-hubs':1257 '/en-us/azure/iot-dps/how-to-revoke-device-access-portal':877 '/en-us/azure/iot-dps/how-to-roll-certificates':887 '/en-us/azure/iot-dps/how-to-send-additional-data':1676 '/en-us/azure/iot-dps/how-to-troubleshoot-dps':479 '/en-us/azure/iot-dps/how-to-unprovision-devices':898 '/en-us/azure/iot-dps/how-to-use-allocation-policies':1267 '/en-us/azure/iot-dps/how-to-verify-certificates':911 '/en-us/azure/iot-dps/iot-dps-ha-dr':807 '/en-us/azure/iot-dps/iot-dps-https-sym-key-support':1687 '/en-us/azure/iot-dps/iot-dps-https-x509-support':1698 '/en-us/azure/iot-dps/iot-dps-ip-filtering':922 '/en-us/azure/iot-dps/iot-dps-understand-ip-address':1278 '/en-us/azure/iot-dps/iot-mqtt-connect-to-iot-dps':1709 '/en-us/azure/iot-dps/monitor-iot-dps-reference':1289 '/en-us/azure/iot-dps/public-network-access':934 '/en-us/azure/iot-dps/quick-enroll-device-tpm':1718 '/en-us/azure/iot-dps/quick-enroll-device-x509':1727 '/en-us/azure/iot-dps/tls-support':945 '/en-us/azure/iot-dps/virtual-network-support':817 '/en-us/azure/iot-hub-device-update/components-enumerator':1737 '/en-us/azure/iot-hub-device-update/configure-access-control-device-update':957 '/en-us/azure/iot-hub-device-update/configure-private-endpoints':968 '/en-us/azure/iot-hub-device-update/device-update-agent-check':491 '/en-us/azure/iot-hub-device-update/device-update-apt-manifest':1301 '/en-us/azure/iot-hub-device-update/device-update-configuration-file':1310 '/en-us/azure/iot-hub-device-update/device-update-control-access':979 '/en-us/azure/iot-hub-device-update/device-update-data-encryption':990 '/en-us/azure/iot-hub-device-update/device-update-diagnostics':502 '/en-us/azure/iot-hub-device-update/device-update-error-codes':513 '/en-us/azure/iot-hub-device-update/device-update-howto-proxy-updates':1919 '/en-us/azure/iot-hub-device-update/device-update-limits':830 '/en-us/azure/iot-hub-device-update/device-update-log-collection':524 '/en-us/azure/iot-hub-device-update/device-update-multi-step-updates':1320 '/en-us/azure/iot-hub-device-update/device-update-networking':1000 '/en-us/azure/iot-hub-device-update/device-update-proxy-update-troubleshooting':535 '/en-us/azure/iot-hub-device-update/device-update-raspberry-pi':1931 '/en-us/azure/iot-hub-device-update/device-update-region-mapping':1941 '/en-us/azure/iot-hub-device-update/device-update-rootkey':1010 '/en-us/azure/iot-hub-device-update/device-update-security':1022 '/en-us/azure/iot-hub-device-update/device-update-ubuntu-agent':1953 '/en-us/azure/iot-hub-device-update/import-schema':1330 '/en-us/azure/iot-hub-device-update/network-security':1034 '/en-us/azure/iot-hub-device-update/related-files':1341 '/en-us/azure/iot-hub-device-update/support':1964 '/en-us/azure/iot-hub-device-update/troubleshoot-device-update':545 '/en-us/azure/iot-hub-device-update/troubleshoot-storage':556 '/en-us/azure/iot-hub-device-update/update-manifest':1351 '/en-us/azure/iot-hub/authenticate-authorize-azure-ad':1047 '/en-us/azure/iot-hub/authenticate-authorize-sas':1057 '/en-us/azure/iot-hub/authenticate-authorize-x509':1067 '/en-us/azure/iot-hub/concept-certificate-renewal':645 '/en-us/azure/iot-hub/concepts-certificate-policy-management':1078 '/en-us/azure/iot-hub/concepts-manage-device-reconnections':655 '/en-us/azure/iot-hub/create-connect-device':1089 '/en-us/azure/iot-hub/how-to-cloud-to-device-messaging':1752 '/en-us/azure/iot-hub/how-to-collect-device-logs':566 '/en-us/azure/iot-hub/how-to-configure-credential':1362 '/en-us/azure/iot-hub/how-to-create-policy':1375 '/en-us/azure/iot-hub/how-to-create-policy-external-certificate':1385 '/en-us/azure/iot-hub/how-to-device-management':1764 '/en-us/azure/iot-hub/how-to-device-twins':1777 '/en-us/azure/iot-hub/how-to-disable-dr':692 '/en-us/azure/iot-hub/how-to-disable-enable-device':1397 '/en-us/azure/iot-hub/how-to-file-upload':1789 '/en-us/azure/iot-hub/how-to-module-twins':1800 '/en-us/azure/iot-hub/how-to-revoke-certificate-delete-policy':1100 '/en-us/azure/iot-hub/how-to-schedule-broadcast-jobs':1812 '/en-us/azure/iot-hub/iot-hub-amqp-support':1823 '/en-us/azure/iot-hub/iot-hub-bulk-identity-mgmt':1834 '/en-us/azure/iot-hub/iot-hub-compare-event-hubs':703 '/en-us/azure/iot-hub/iot-hub-configuration-best-practices':666 '/en-us/azure/iot-hub/iot-hub-configure-file-upload':1408 '/en-us/azure/iot-hub/iot-hub-customer-data-requests':1419 '/en-us/azure/iot-hub/iot-hub-devguide-c2d-guidance':715 '/en-us/azure/iot-hub/iot-hub-devguide-d2c-guidance':727 '/en-us/azure/iot-hub/iot-hub-devguide-device-twins':1430 '/en-us/azure/iot-hub/iot-hub-devguide-direct-methods':1440 '/en-us/azure/iot-hub/iot-hub-devguide-endpoints':1453 '/en-us/azure/iot-hub/iot-hub-devguide-file-upload':1465 '/en-us/azure/iot-hub/iot-hub-devguide-identity-registry':1112 '/en-us/azure/iot-hub/iot-hub-devguide-jobs':1478 '/en-us/azure/iot-hub/iot-hub-devguide-messages-c2d':1490 '/en-us/azure/iot-hub/iot-hub-devguide-messages-construct':1843 '/en-us/azure/iot-hub/iot-hub-devguide-messages-d2c':1502 '/en-us/azure/iot-hub/iot-hub-devguide-messages-read-builtin':1855 '/en-us/azure/iot-hub/iot-hub-devguide-module-twins':1513 '/en-us/azure/iot-hub/iot-hub-devguide-pricing':737 '/en-us/azure/iot-hub/iot-hub-devguide-protocols':1523 '/en-us/azure/iot-hub/iot-hub-devguide-query-language':1536 '/en-us/azure/iot-hub/iot-hub-devguide-quotas-throttling':841 '/en-us/azure/iot-hub/iot-hub-devguide-routing-query-syntax':1546 '/en-us/azure/iot-hub/iot-hub-device-registry-setup':1557 '/en-us/azure/iot-hub/iot-hub-event-grid-routing-comparison':748 '/en-us/azure/iot-hub/iot-hub-ip-filtering':1123 '/en-us/azure/iot-hub/iot-hub-managed-identity':1134 '/en-us/azure/iot-hub/iot-hub-message-enrichments-overview':1567 '/en-us/azure/iot-hub/iot-hub-non-telemetry-event-schema':1579 '/en-us/azure/iot-hub/iot-hub-public-network-access':1145 '/en-us/azure/iot-hub/iot-hub-restrict-outbound-network-access':1156 '/en-us/azure/iot-hub/iot-hub-scaling':760 '/en-us/azure/iot-hub/iot-hub-tls-support':1167 '/en-us/azure/iot-hub/iot-hub-troubleshoot-connectivity':576 '/en-us/azure/iot-hub/iot-hub-understand-ip-address':1590 '/en-us/azure/iot-hub/iot-hub-upgrade':772 '/en-us/azure/iot-hub/iot-mqtt-connect-to-iot-hub':1866 '/en-us/azure/iot-hub/manage-device-twins':1604 '/en-us/azure/iot-hub/migrate-hub-arm':1976 '/en-us/azure/iot-hub/migrate-hub-state-cli':1988 '/en-us/azure/iot-hub/migrate-tls-certificate':1179 '/en-us/azure/iot-hub/monitor-device-connection-state':782 '/en-us/azure/iot-hub/monitor-iot-hub-reference':1616 '/en-us/azure/iot-hub/policy-reference':1191 '/en-us/azure/iot-hub/query-jobs':1628 '/en-us/azure/iot-hub/query-twins':1638 '/en-us/azure/iot-hub/quickstart-control-device':1878 '/en-us/azure/iot-hub/reference-iot-hub-extension':1649 '/en-us/azure/iot-hub/reference-self-sign-script':1892 '/en-us/azure/iot-hub/regenerate-keys':1201 '/en-us/azure/iot-hub/schedule-jobs-cli':2001 '/en-us/azure/iot-hub/secure-azure-iot-hub':677 '/en-us/azure/iot-hub/security-controls-policy':1211 '/en-us/azure/iot-hub/troubleshoot-error-codes':585 '/en-us/azure/iot-hub/troubleshoot-message-routing':595 '/en-us/azure/iot-hub/tutorial-connectivity':605 '/en-us/azure/iot-hub/tutorial-manual-failover':2012 '/en-us/azure/iot-hub/tutorial-message-enrichments':1660 '/en-us/azure/iot-hub/tutorial-use-mqtt':1904 '/en-us/azure/iot-hub/tutorial-x509-test-certs':1223 '/en-us/azure/iot-hub/virtual-network-support':1234 '/microsoftdocs/mcp/blob/main/readme.md)':168 '3':139 'accept':207 'access':173,859,871,895,926,1028,1051,1138,1151,1196 'account':965 'across':1262,1970 'action':1756 'addit':1667 'address':1274,1587 'adr':398,642,1096,1353,1372,1377,1551 'adu-config.json':1303 'agent':88,132,191,205,481,1307,1950 'alloc':1260 'altern':283 'amqp':1814 'api':847,1038 'appli':610,656,667 'apt':1291 'architectur':18,57,300,783 'arm/bicep':453 'assign':946 'auth':365,973 'authent':1058 'author':1321 'auto':265 'automat':659 'avail':158,801 'azur':2,8,38,48,381,473,578,587,600,648,672,695,729,752,764,823,831,917,1102,1118,1128,1140,1183,1202,1225,1243,1281,1392,1404,1423,1444,1469,1506,1525,1562,1574,1583,1611,1622,1641,1702,1817,1836,1859,1897,1967,1978,1982,1997,2007 'azure-iot-hub':1 'back':1358 'base':1296,1923,1945 'behavior':342,838 'best':14,53,242,247,606,612,662,669 'broadcast':1808 'built':1181,1850 'built-in':1180,1849 'bulk':434,1824 'c2d':432 'c2d/d2c':289 'ca':901,1369,1382 'capabl':80 'categori':91,99,115,211,213 'cert':261 'certif':371,396,639,882,902,1064,1069,1092,1173,1217,1359,1553,1694,1889 'check':482,1954 'choos':279,693,704,716,773 'cipher':939,1160 'clean':1094 'cli':465,1601,1983,1998 'cloud':708,722,1481,1497,1744,1782 'cloud-to-devic':707,1480,1743 'cmks':984 'code':26,65,235,412,419,497,510,582,1645,1662 'collect':514,557 'collecting/using':237 'combin':70 'comm':287 'command':1985 'common':472,539 'communic':711,723,1517 'complianc':383,1204 'compon':1731,1957 'config':267 'configur':24,63,384,388,661,857,912,935,969,980,991,1023,1113,1235,1258,1302,1311,1331,1352,1376,1398,1422,1431,1441,1466,1479,1491,1505,1514,1558 'connect':230,312,422,573,598,777,811,942,1085,1224,1699,1856,1893 'constraint':353 'construct':1835 'content':75,177 'control':377,860,1048,1205,1867 'cosmos':324 'cover':51 'creat':1212,1290,1363,1711,1720 'credenti':1354 'csr':1888 'custom':1410 'data':981,1411,1462,1669 'db':325 'debug':559 'decid':682,738 'decis':16,55,272,678 'defin':1342 'definit':1185 'deploy':29,68,254,439,443,454,619,1547,1905,1920,1942 'deprovis':888 'descript':215 'design':19,58,301,306,646,784,798 'detail':331 'develop':11 'devic':33,227,240,255,266,314,336,363,394,449,455,486,488,493,504,517,531,540,552,558,572,597,631,651,660,710,720,776,790,824,870,890,950,963,975,986,995,1003,1018,1030,1061,1082,1091,1108,1240,1297,1305,1315,1326,1335,1347,1390,1393,1416,1426,1447,1461,1474,1483,1495,1594,1632,1671,1700,1729,1746,1754,1768,1773,1779,1830,1857,1869,1895,1912,1924,1937,1946,1960,1994 'device-to-cloud':719,1494 'devices/dps':423 'devices/operations':346 'diagnos':220,469,484,536 'diagnost':238,495,519 'digicert':1175 'direct':430,1436,1760,1871 'disabl':297,685,1386 'disast':298,688,803 'disenrol':869 'dlp':1153 'doc':183 'document':78,176 'dps':35,225,309,361,392,474,611,629,789,799,814,846,858,873,884,889,904,919,931,941,1239,1254,1259,1271,1282,1673,1681,1692,1704,1712,1721 'dps-enabl':628 'e.g':103,119 'edit':1365 'egress':1131 'enabl':630,1388 'encrypt':982 'end':1013,1015 'end-to-end':1012 'endpoint':379,403,929,961,1450,1820,1852 'enrich':407,1560,1657 'enrol':393,1241,1715,1723 'entra':366,850,972,1041 'enumer':1732 'error':233,234,476,496,509,529,549,581 'event':322,699,744,1571 'execut':637,1313 'expert':5,45 'export':1827 'extens':1646 'extern':1380 'failov':452,1934,2004 'fallback':195 'fetch':79,175,184,197 'file':109,117,124,129,404,1333,1401,1457,1780 'filter':914,1115 'fix':222,471,538,546 'fleet':1475 'format':438,1840 'g2':1176 'github.com':167 'github.com/microsoftdocs/mcp/blob/main/readme.md)':166 'grid':745 'group':1724,1995 'guid':165 'guidanc':46,277 'handl':1409 'harden':271 'high':800 'hit':352 'https':1679,1690 'hub':4,10,40,50,224,270,281,321,334,360,390,426,447,508,571,580,589,602,650,658,674,687,697,700,706,718,731,741,754,766,775,833,894,954,1037,1050,1060,1075,1081,1104,1120,1130,1142,1148,1164,1170,1188,1194,1208,1220,1227,1252,1264,1400,1415,1425,1435,1446,1456,1471,1487,1493,1508,1516,1527,1539,1549,1564,1576,1585,1593,1613,1624,1631,1643,1655,1742,1759,1767,1785,1797,1803,1819,1829,1838,1846,1861,1887,1899,1916,1969,1980,1991,2009 'hub/dps':253 'id':367,851,1042 'ident':1083,1105,1126,1792,1831 'identities/twins/files':429 'imag':1922 'image-bas':1921 'image/package':457 'implement':623,1728,1753 'import':86,130,528,551,1323,1337,1825 'includ':12 'index':92,212 'individu':1714 'instal':162,164 'instanc':1272 'integr':25,64,411,1661 'interpret':503,1619 'iot':3,9,39,49,223,252,269,280,320,333,359,389,425,446,507,562,570,579,588,601,618,638,649,657,673,686,696,705,717,730,740,753,765,774,832,893,918,953,1036,1049,1059,1074,1080,1103,1119,1129,1141,1147,1163,1169,1187,1193,1207,1219,1226,1251,1263,1389,1399,1414,1424,1434,1445,1455,1470,1486,1492,1507,1515,1526,1538,1548,1563,1575,1584,1592,1612,1623,1630,1642,1654,1703,1741,1758,1766,1784,1796,1802,1818,1828,1837,1845,1860,1868,1886,1894,1898,1915,1968,1979,1990,2008 'ip':913,1114,1273,1586 'issu':229,542,592 'job':401,463,1472,1533,1625,1809,1992 'json':1322 'key':375,1006,1197,1683 'knowledg':6 'l120':106 'l128':357 'l129':386 'l129-l170':385 'l170':387 'l171':415 'l171-l195':414 'l195':416 'l196':441 'l196-l207':440 'l207':442 'l35':105 'l35-l120':104 'l37':218 'l37-l53':217 'l53':219 'l54':245 'l54-l63':244 'l63':246 'l64':275 'l64-l76':274 'l76':276 'l77':304 'l77-l83':303 'l83':305 'l84':329 'l84-l89':328 'l89':330 'l90':356 'l90-l128':355 'languag':1529,1543 'larg':616,1460 'large-scal':615 'latest':147 'learn':190,204 'learn-agent-skil':189,203 'learn.microsoft.com':478,490,501,512,523,534,544,555,565,575,584,594,604,621,633,644,654,665,676,691,702,714,726,736,747,759,771,781,796,806,816,829,840,855,865,876,886,897,910,921,933,944,956,967,978,989,999,1009,1021,1033,1046,1056,1066,1077,1088,1099,1111,1122,1133,1144,1155,1166,1178,1190,1200,1210,1222,1233,1246,1256,1266,1277,1288,1300,1309,1319,1329,1340,1350,1361,1374,1384,1396,1407,1418,1429,1439,1452,1464,1477,1489,1501,1512,1522,1535,1545,1556,1566,1578,1589,1603,1615,1627,1637,1648,1659,1675,1686,1697,1708,1717,1726,1736,1751,1763,1776,1788,1799,1811,1822,1833,1842,1854,1865,1877,1891,1903,1918,1930,1940,1952,1963,1975,1987,2000,2011 'learn.microsoft.com/en-us/azure/iot-dps/concepts-control-access-dps-azure-ad':854 'learn.microsoft.com/en-us/azure/iot-dps/concepts-deploy-at-scale':620 'learn.microsoft.com/en-us/azure/iot-dps/concepts-device-oem-security-practices':632 'learn.microsoft.com/en-us/azure/iot-dps/concepts-device-reprovision':795 'learn.microsoft.com/en-us/azure/iot-dps/how-to-control-access':864 'learn.microsoft.com/en-us/azure/iot-dps/how-to-manage-enrollments':1245 'learn.microsoft.com/en-us/azure/iot-dps/how-to-manage-linked-iot-hubs':1255 'learn.microsoft.com/en-us/azure/iot-dps/how-to-revoke-device-access-portal':875 'learn.microsoft.com/en-us/azure/iot-dps/how-to-roll-certificates':885 'learn.microsoft.com/en-us/azure/iot-dps/how-to-send-additional-data':1674 'learn.microsoft.com/en-us/azure/iot-dps/how-to-troubleshoot-dps':477 'learn.microsoft.com/en-us/azure/iot-dps/how-to-unprovision-devices':896 'learn.microsoft.com/en-us/azure/iot-dps/how-to-use-allocation-policies':1265 'learn.microsoft.com/en-us/azure/iot-dps/how-to-verify-certificates':909 'learn.microsoft.com/en-us/azure/iot-dps/iot-dps-ha-dr':805 'learn.microsoft.com/en-us/azure/iot-dps/iot-dps-https-sym-key-support':1685 'learn.microsoft.com/en-us/azure/iot-dps/iot-dps-https-x509-support':1696 'learn.microsoft.com/en-us/azure/iot-dps/iot-dps-ip-filtering':920 'learn.microsoft.com/en-us/azure/iot-dps/iot-dps-understand-ip-address':1276 'learn.microsoft.com/en-us/azure/iot-dps/iot-mqtt-connect-to-iot-dps':1707 'learn.microsoft.com/en-us/azure/iot-dps/monitor-iot-dps-reference':1287 'learn.microsoft.com/en-us/azure/iot-dps/public-network-access':932 'learn.microsoft.com/en-us/azure/iot-dps/quick-enroll-device-tpm':1716 'learn.microsoft.com/en-us/azure/iot-dps/quick-enroll-device-x509':1725 'learn.microsoft.com/en-us/azure/iot-dps/tls-support':943 'learn.microsoft.com/en-us/azure/iot-dps/virtual-network-support':815 'learn.microsoft.com/en-us/azure/iot-hub-device-update/components-enumerator':1735 'learn.microsoft.com/en-us/azure/iot-hub-device-update/configure-access-control-device-update':955 'learn.microsoft.com/en-us/azure/iot-hub-device-update/configure-private-endpoints':966 'learn.microsoft.com/en-us/azure/iot-hub-device-update/device-update-agent-check':489 'learn.microsoft.com/en-us/azure/iot-hub-device-update/device-update-apt-manifest':1299 'learn.microsoft.com/en-us/azure/iot-hub-device-update/device-update-configuration-file':1308 'learn.microsoft.com/en-us/azure/iot-hub-device-update/device-update-control-access':977 'learn.microsoft.com/en-us/azure/iot-hub-device-update/device-update-data-encryption':988 'learn.microsoft.com/en-us/azure/iot-hub-device-update/device-update-diagnostics':500 'learn.microsoft.com/en-us/azure/iot-hub-device-update/device-update-error-codes':511 'learn.microsoft.com/en-us/azure/iot-hub-device-update/device-update-howto-proxy-updates':1917 'learn.microsoft.com/en-us/azure/iot-hub-device-update/device-update-limits':828 'learn.microsoft.com/en-us/azure/iot-hub-device-update/device-update-log-collection':522 'learn.microsoft.com/en-us/azure/iot-hub-device-update/device-update-multi-step-updates':1318 'learn.microsoft.com/en-us/azure/iot-hub-device-update/device-update-networking':998 'learn.microsoft.com/en-us/azure/iot-hub-device-update/device-update-proxy-update-troubleshooting':533 'learn.microsoft.com/en-us/azure/iot-hub-device-update/device-update-raspberry-pi':1929 'learn.microsoft.com/en-us/azure/iot-hub-device-update/device-update-region-mapping':1939 'learn.microsoft.com/en-us/azure/iot-hub-device-update/device-update-rootkey':1008 'learn.microsoft.com/en-us/azure/iot-hub-device-update/device-update-security':1020 'learn.microsoft.com/en-us/azure/iot-hub-device-update/device-update-ubuntu-agent':1951 'learn.microsoft.com/en-us/azure/iot-hub-device-update/import-schema':1328 'learn.microsoft.com/en-us/azure/iot-hub-device-update/network-security':1032 'learn.microsoft.com/en-us/azure/iot-hub-device-update/related-files':1339 'learn.microsoft.com/en-us/azure/iot-hub-device-update/support':1962 'learn.microsoft.com/en-us/azure/iot-hub-device-update/troubleshoot-device-update':543 'learn.microsoft.com/en-us/azure/iot-hub-device-update/troubleshoot-storage':554 'learn.microsoft.com/en-us/azure/iot-hub-device-update/update-manifest':1349 'learn.microsoft.com/en-us/azure/iot-hub/authenticate-authorize-azure-ad':1045 'learn.microsoft.com/en-us/azure/iot-hub/authenticate-authorize-sas':1055 'learn.microsoft.com/en-us/azure/iot-hub/authenticate-authorize-x509':1065 'learn.microsoft.com/en-us/azure/iot-hub/concept-certificate-renewal':643 'learn.microsoft.com/en-us/azure/iot-hub/concepts-certificate-policy-management':1076 'learn.microsoft.com/en-us/azure/iot-hub/concepts-manage-device-reconnections':653 'learn.microsoft.com/en-us/azure/iot-hub/create-connect-device':1087 'learn.microsoft.com/en-us/azure/iot-hub/how-to-cloud-to-device-messaging':1750 'learn.microsoft.com/en-us/azure/iot-hub/how-to-collect-device-logs':564 'learn.microsoft.com/en-us/azure/iot-hub/how-to-configure-credential':1360 'learn.microsoft.com/en-us/azure/iot-hub/how-to-create-policy':1373 'learn.microsoft.com/en-us/azure/iot-hub/how-to-create-policy-external-certificate':1383 'learn.microsoft.com/en-us/azure/iot-hub/how-to-device-management':1762 'learn.microsoft.com/en-us/azure/iot-hub/how-to-device-twins':1775 'learn.microsoft.com/en-us/azure/iot-hub/how-to-disable-dr':690 'learn.microsoft.com/en-us/azure/iot-hub/how-to-disable-enable-device':1395 'learn.microsoft.com/en-us/azure/iot-hub/how-to-file-upload':1787 'learn.microsoft.com/en-us/azure/iot-hub/how-to-module-twins':1798 'learn.microsoft.com/en-us/azure/iot-hub/how-to-revoke-certificate-delete-policy':1098 'learn.microsoft.com/en-us/azure/iot-hub/how-to-schedule-broadcast-jobs':1810 'learn.microsoft.com/en-us/azure/iot-hub/iot-hub-amqp-support':1821 'learn.microsoft.com/en-us/azure/iot-hub/iot-hub-bulk-identity-mgmt':1832 'learn.microsoft.com/en-us/azure/iot-hub/iot-hub-compare-event-hubs':701 'learn.microsoft.com/en-us/azure/iot-hub/iot-hub-configuration-best-practices':664 'learn.microsoft.com/en-us/azure/iot-hub/iot-hub-configure-file-upload':1406 'learn.microsoft.com/en-us/azure/iot-hub/iot-hub-customer-data-requests':1417 'learn.microsoft.com/en-us/azure/iot-hub/iot-hub-devguide-c2d-guidance':713 'learn.microsoft.com/en-us/azure/iot-hub/iot-hub-devguide-d2c-guidance':725 'learn.microsoft.com/en-us/azure/iot-hub/iot-hub-devguide-device-twins':1428 'learn.microsoft.com/en-us/azure/iot-hub/iot-hub-devguide-direct-methods':1438 'learn.microsoft.com/en-us/azure/iot-hub/iot-hub-devguide-endpoints':1451 'learn.microsoft.com/en-us/azure/iot-hub/iot-hub-devguide-file-upload':1463 'learn.microsoft.com/en-us/azure/iot-hub/iot-hub-devguide-identity-registry':1110 'learn.microsoft.com/en-us/azure/iot-hub/iot-hub-devguide-jobs':1476 'learn.microsoft.com/en-us/azure/iot-hub/iot-hub-devguide-messages-c2d':1488 'learn.microsoft.com/en-us/azure/iot-hub/iot-hub-devguide-messages-construct':1841 'learn.microsoft.com/en-us/azure/iot-hub/iot-hub-devguide-messages-d2c':1500 'learn.microsoft.com/en-us/azure/iot-hub/iot-hub-devguide-messages-read-builtin':1853 'learn.microsoft.com/en-us/azure/iot-hub/iot-hub-devguide-module-twins':1511 'learn.microsoft.com/en-us/azure/iot-hub/iot-hub-devguide-pricing':735 'learn.microsoft.com/en-us/azure/iot-hub/iot-hub-devguide-protocols':1521 'learn.microsoft.com/en-us/azure/iot-hub/iot-hub-devguide-query-language':1534 'learn.microsoft.com/en-us/azure/iot-hub/iot-hub-devguide-quotas-throttling':839 'learn.microsoft.com/en-us/azure/iot-hub/iot-hub-devguide-routing-query-syntax':1544 'learn.microsoft.com/en-us/azure/iot-hub/iot-hub-device-registry-setup':1555 'learn.microsoft.com/en-us/azure/iot-hub/iot-hub-event-grid-routing-comparison':746 'learn.microsoft.com/en-us/azure/iot-hub/iot-hub-ip-filtering':1121 'learn.microsoft.com/en-us/azure/iot-hub/iot-hub-managed-identity':1132 'learn.microsoft.com/en-us/azure/iot-hub/iot-hub-message-enrichments-overview':1565 'learn.microsoft.com/en-us/azure/iot-hub/iot-hub-non-telemetry-event-schema':1577 'learn.microsoft.com/en-us/azure/iot-hub/iot-hub-public-network-access':1143 'learn.microsoft.com/en-us/azure/iot-hub/iot-hub-restrict-outbound-network-access':1154 'learn.microsoft.com/en-us/azure/iot-hub/iot-hub-scaling':758 'learn.microsoft.com/en-us/azure/iot-hub/iot-hub-tls-support':1165 'learn.microsoft.com/en-us/azure/iot-hub/iot-hub-troubleshoot-connectivity':574 'learn.microsoft.com/en-us/azure/iot-hub/iot-hub-understand-ip-address':1588 'learn.microsoft.com/en-us/azure/iot-hub/iot-hub-upgrade':770 'learn.microsoft.com/en-us/azure/iot-hub/iot-mqtt-connect-to-iot-hub':1864 'learn.microsoft.com/en-us/azure/iot-hub/manage-device-twins':1602 'learn.microsoft.com/en-us/azure/iot-hub/migrate-hub-arm':1974 'learn.microsoft.com/en-us/azure/iot-hub/migrate-hub-state-cli':1986 'learn.microsoft.com/en-us/azure/iot-hub/migrate-tls-certificate':1177 'learn.microsoft.com/en-us/azure/iot-hub/monitor-device-connection-state':780 'learn.microsoft.com/en-us/azure/iot-hub/monitor-iot-hub-reference':1614 'learn.microsoft.com/en-us/azure/iot-hub/policy-reference':1189 'learn.microsoft.com/en-us/azure/iot-hub/query-jobs':1626 'learn.microsoft.com/en-us/azure/iot-hub/query-twins':1636 'learn.microsoft.com/en-us/azure/iot-hub/quickstart-control-device':1876 'learn.microsoft.com/en-us/azure/iot-hub/reference-iot-hub-extension':1647 'learn.microsoft.com/en-us/azure/iot-hub/reference-self-sign-script':1890 'learn.microsoft.com/en-us/azure/iot-hub/regenerate-keys':1199 'learn.microsoft.com/en-us/azure/iot-hub/schedule-jobs-cli':1999 'learn.microsoft.com/en-us/azure/iot-hub/secure-azure-iot-hub':675 'learn.microsoft.com/en-us/azure/iot-hub/security-controls-policy':1209 'learn.microsoft.com/en-us/azure/iot-hub/troubleshoot-error-codes':583 'learn.microsoft.com/en-us/azure/iot-hub/troubleshoot-message-routing':593 'learn.microsoft.com/en-us/azure/iot-hub/tutorial-connectivity':603 'learn.microsoft.com/en-us/azure/iot-hub/tutorial-manual-failover':2010 'learn.microsoft.com/en-us/azure/iot-hub/tutorial-message-enrichments':1658 'learn.microsoft.com/en-us/azure/iot-hub/tutorial-use-mqtt':1902 'learn.microsoft.com/en-us/azure/iot-hub/tutorial-x509-test-certs':1221 'learn.microsoft.com/en-us/azure/iot-hub/virtual-network-support':1232 'lifecycl':791 'lifecycle/ha/dr':310 'limit':21,60,326,339,818,827,835 'line':101,113,214 'link':118,127,1248 'local':71 'locat':95 'log':241,499,520,560,1286,1608 'make':17,56,273,679 'manag':36,395,428,923,1068,1079,1109,1125,1135,1238,1250,1270,1468,1554,1582,1591,1755 'mani':345 'manifest':1292,1317,1324,1338,1344 'manual':1965,2003 'map':1935 'markdown':194,210 'mcp':153,180 'messag':406,433,437,590,1484,1498,1540,1559,1656,1747,1839,1847 'metadata.generated':134 'meter':734 'method':291,431,779,1437,1761,1872 'metric':1284,1606 'microsoft':182,849,1040,1357,1367 'microsoft-back':1356 'microsoft-root':1366 'microsoftdoc':154,181 'migrat':451,1168,1966,1977 'miss':485 'modul':1509,1596,1634,1791 'monitor':290,567,778,1283,1610 'monitoring/metrics/logs':410 'month':140 'mqtt':1706,1863,1901 'mqtt/https/amqp':427 'multistep':1312 'net':1874 'network':172,810,925,992,1024,1137,1150,1230 'network/ip':376 'non':1569 'non-telemetri':1568 'oem':259,624 'old':141 'op':435 'option':712,724 'order':319 'os':459,1955 'outbound':1149 'packag':1295,1944 'package-bas':1294,1943 'pattern':20,27,59,66,288,302,307,413,417,785,812,1663 'payload':1345,1668 'perform':1908,2002 'permiss':548 'persist':318 'pi':1928 'plan':635,788 'polici':382,794,1072,1097,1184,1203,1261,1370,1378 'port':993,1520 'portal':1244,1599 'possess':908 'powershel':1880 'practic':15,54,243,248,607,613,626,663,670 'prefer':178 'prepar':1001 'price':285,732 'privat':378,928,960,1027 'programmat':1710,1719 'proof':906 'proof-of-possess':905 'properti':1275 'protocol':1518,1815 'provid':44 'provis':32,256,475,1684,1695 'proxi':458,526,1734,1909 'proxy/storage':232 'public':924,1136 'pull':145 'queri':186,200,408,1268,1528,1542,1620,1629 'quick':73 'quick-refer':72 'quota':22,61,327,340,819,834 'rang':102 'raspberri':1927 'raw':1678,1689 'rbac':368,853,947,970,1044 'read':108,123,1844 'receiv':1740 'reconnect':264,652 'recoveri':299,689,804 'refer':74,128,1279,1605 'regener':1192 'region':1933,1971 'region/sku':450 'registri':1106,1394 'relat':1332 'relev':96 'reliabl':317 'remot':77,521 'renew':640 'renewal/adr':262 'repositori':151 'reprovis':793 'request':1412 'requir':171,1161 'resili':263,647 'resolv':525,577 'restrict':1146 'return':193,209 'review':516,822 'revoc':373,1070 'revok':867,892,1090 'right':751 'role':948 'roll':878 'root':1005,1172,1368,1381 'rotat':1007 'rout':231,286,402,591,742,1499,1541 'rule':915,1116 'run':1617 'safe':1198 'sampl':420,1875 'sas':369,862,1053 'scalabl':251 'scale':258,349,617,757 'schedul':462,1807,1989 'schema':1572 'script':1881 'sdk':1805 'sdks':563,1749,1771,1786 'section':97 'secur':23,62,250,260,313,354,358,625,668,842,845,874,1016,1025,1035,1231 'security.md':120,121 'select':749,761 'self':1884 'self-sign':1883 'send':1666,1738 'servic':338,826,1449,1770,1804 'set':399,958,1650 'share':1195 'sign':1885 'size':769 'skill':41,43,85,170,192,206 'skill-azure-iot-hub' 'skus':1973 'source-microsoftdocs' 'specifi':112 'state':1984 'storag':547,1405 'stream':315 'string':187,201,1086 'suggest':142,159 'support':460,1958 'symmetr':1682 'telemetri':1570 'test':1216 'text/markdown':208 'throttl':341,837 'tier':755,767 'tiers/scale':284 'tls':936,1157,1171 'tls/ciphers':374 'token':863,1054 'tool':155 'topic':467,608,680,786,820,843,1236,1664,1906 'topic-agent' 'topic-agent-skills' 'topic-agentic-skills' 'topic-agentskill' 'topic-ai-agents' 'topic-ai-coding' 'topic-azure' 'topic-azure-functions' 'topic-azure-kubernetes-service' 'topic-azure-openai' 'topic-azure-sql-database' 'topic-azure-storage' 'tpm':1713 'traffic':997 'troubleshoot':13,52,216,466,569,586,596 'twi':37 'twin':400,1427,1510,1531,1597,1635,1774,1794 'ubuntu':1949 'understand':728,1011,1420,1503,1580 'updat':228,337,364,445,456,487,494,505,518,527,532,541,553,825,880,951,964,976,987,996,1004,1019,1031,1298,1306,1316,1327,1336,1343,1348,1730,1910,1913,1925,1938,1947,1961 'upgrad':763 'upload':405,1214,1402,1458,1778 'url':468,609,681,787,821,844,1237,1665,1907 'use':30,83,89,107,122,179,196,295,480,492,561,808,848,1101,1124,1433,1443,1454,1524,1537,1639,1653,1677,1688,1757,1765,1783,1790,1801,1813,1862,1873,1879,1932,1981,1996 'user':144,161 'verifi':899 'version':148,937,1158 'via':34,464,1598,1733,1870,1900 'virtual':809,1229 'vnet':311 'vs':282,1644 'webpag':198 'x.509':370,881,900,1063,1215,1693,1722","prices":[{"id":"0a3f06a2-3d33-4d24-93da-cb4a15bdaa0d","listingId":"b7d23a69-df9e-41c3-a03f-f21771575f7c","amountUsd":"0","unit":"free","nativeCurrency":null,"nativeAmount":null,"chain":null,"payTo":null,"paymentMethod":"skill-free","isPrimary":true,"details":{"org":"MicrosoftDocs","category":"Agent-Skills","install_from":"skills.sh"},"createdAt":"2026-04-18T21:59:17.543Z"}],"sources":[{"listingId":"b7d23a69-df9e-41c3-a03f-f21771575f7c","source":"github","sourceId":"MicrosoftDocs/Agent-Skills/azure-iot-hub","sourceUrl":"https://github.com/MicrosoftDocs/Agent-Skills/tree/main/skills/azure-iot-hub","isPrimary":false,"firstSeenAt":"2026-04-18T21:59:17.543Z","lastSeenAt":"2026-04-22T06:53:33.758Z"}],"details":{"listingId":"b7d23a69-df9e-41c3-a03f-f21771575f7c","quickStartSnippet":null,"exampleRequest":null,"exampleResponse":null,"schema":null,"openapiUrl":null,"agentsTxtUrl":null,"citations":[],"useCases":[],"bestFor":[],"notFor":[],"kindDetails":{"org":"MicrosoftDocs","slug":"azure-iot-hub","github":{"repo":"MicrosoftDocs/Agent-Skills","stars":497,"topics":["agent","agent-skills","agentic-skills","agentskill","ai","ai-agents","ai-coding","azure","azure-functions","azure-kubernetes-service","azure-openai","azure-sql-database","azure-storage","azure-virtual-machine","claude-code","github-copilot","microsoft-learn","openai-codex","skills"],"license":"cc-by-4.0","html_url":"https://github.com/MicrosoftDocs/Agent-Skills","pushed_at":"2026-04-22T01:37:27Z","description":"Curated Agent Skills for Microsoft & Azure – giving AI coding assistants structured, real-time expertise from Microsoft Learn docs.","skill_md_sha":"0539cd63abefb8286157fc3d00c8acfc73454a2c","skill_md_path":"skills/azure-iot-hub/SKILL.md","default_branch":"main","skill_tree_url":"https://github.com/MicrosoftDocs/Agent-Skills/tree/main/skills/azure-iot-hub"},"layout":"multi","source":"github","category":"Agent-Skills","frontmatter":{"name":"azure-iot-hub","description":"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 provisioning devices via DPS, managing twins/jobs/routing, using device streams, or integrating Device Update, 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 Defender For Iot (use azure-defender-for-iot).","compatibility":"Requires network access. Uses mcp_microsoftdocs:microsoft_docs_fetch or fetch_webpage to retrieve documentation."},"skills_sh_url":"https://skills.sh/MicrosoftDocs/Agent-Skills/azure-iot-hub"},"updatedAt":"2026-04-22T06:53:33.758Z"}}