Compartir a través de


Solución de problemas de códigos de error de Azure IoT Hub

En este artículo se describen las causas y soluciones de los códigos de error comunes que puede encontrar al usar IoT Hub.

400xxx Errores de solicitud incorrecta

Es posible que vea que las solicitudes a IoT Hub producen un error que comienza con 400. En la tabla siguiente se enumeran los códigos de error, sus descripciones y posibles soluciones.

Código de error Description Solución
400000 SolicitudGenéricaIncorrecta Error genérico de solicitud incorrecta. Compruebe el formato y los parámetros de la solicitud.
400001 InvalidProtocolVersion No se admite la versión del protocolo especificada en la solicitud. Actualice la solicitud para usar una versión de protocolo compatible.
400002 DeviceInvalidResultCount El número de resultados devueltos por el dispositivo no es válido. Asegúrese de que el dispositivo devuelve el número correcto de resultados.
400003 OperaciónInválida La operación solicitada no es válida. Compruebe que la operación es compatible con el dispositivo.
400004 ArgumentInvalid Uno o varios argumentos de la solicitud no son válidos. Compruebe que los argumentos de solicitud son correctos.
400005 ArgumentNull Uno o varios argumentos obligatorios son NULL. Asegúrese de que se proporcionan todos los argumentos necesarios.
400006 IotHubFormatError El formato de la solicitud no es válido. Compruebe el formato de solicitud para ver si es correcto.
400007 ErrorDeSerializaciónDeEntidadDeAlmacenamientoDelDispositivo La entidad de almacenamiento del dispositivo no se pudo serializar ni deserializar. Compruebe el formato de serialización y los datos.
400008 BlobContainerValidationError El contenedor de blobs especificado no es válido. Compruebe el nombre y los permisos del contenedor de blobs.
400009 ImportWarningExistsError Hay una advertencia de importación existente. Revise las advertencias de importación y resuélvalas.
400010 InvalidSchemaVersion La versión de esquema especificada no es válida. Actualice la versión del esquema a una versión compatible.
400011 DeviceDefinedMultipleTimes El dispositivo se define varias veces. Asegúrese de que el dispositivo solo se define una vez.
400012 DeserializationError Error al deserializar la solicitud. Compruebe el formato de solicitud y los datos para ver si son correctos.
400013 Error de operación de registro en masa (BulkRegistryOperationFailure) La operación de registro masivo falló. Revise los detalles de la operación masiva y vuelva a intentarlo.
400014 PuntoDeAlmacenamientoPredeterminadoNoConfigurado El punto de conexión de almacenamiento predeterminado no está configurado. Configure el punto de conexión de almacenamiento predeterminado.
400015 InvalidFileUploadCorrelationId El identificador de correlación de carga de archivos no es válido. Compruebe el identificador de correlación de carga de archivos para ver si es correcto.
400016 ExpiredFileUploadCorrelationId El identificador de correlación de carga de archivos ha expirado. Obtenga un nuevo identificador de correlación para la carga de un archivo.
400017 InvalidStorageEndpoint El punto de conexión de almacenamiento especificado no es válido. Compruebe si el punto de conexión de almacenamiento es correcto.
400018 PuntoFinalDeMensajeríaNoVálido El punto de conexión de mensajería especificado no es válido. Compruebe el punto de conexión de mensajería para ver si es correcto.
400019 InvalidFileUploadCompletionStatus El estado de finalización de la carga de archivos no es válido. Compruebe el estado de finalización de la carga del archivo para ver si es correcto.
400020 InvalidStorageEndpointOrBlob Al intentar crear un blob durante la carga de archivos, el almacenamiento de blobs responde con Forbidden, Unauthorized, NotFound o BadRequest. Compruebe los permisos y la existencia de Blob Storage.
400021 SolicitudCancelada Se ha cancelado la solicitud. Intente de nuevo la solicitud.
400022 InvalidStorageEndpointProperty La propiedad del punto de conexión de almacenamiento especificada no es válida. Compruebe si las propiedades del punto de conexión de almacenamiento son correctas.
400023 EtagDoesNotMatch La ETag especificada en la solicitud no coincide con la ETag actual del recurso. Actualice la ETag en la solicitud para que coincida con la ETag actual.
400024 RequestTimedOut Se ha agotado el tiempo de espera de la solicitud. Intente de nuevo la solicitud.
400025 Operación no soportada en réplica La operación no es compatible con la réplica especificada. Revise los detalles de la operación y la réplica.
400026 MensajeNulo El mensaje es NULL. Asegúrese de que el mensaje no sea NULL.
400027 ConnectionForcefullyClosedOnNewConnection El dispositivo se desconecta e informa de Communication_Error como ConnectionStatusChangeReason utilizando el SDK de .NET y el tipo de transporte MQTT. O bien, la operación gemela del dispositivo a la nube (como las propiedades indicadas de lectura o revisión) o la invocación del método directo producen un error con el código 400027. Este error se produce cuando otro cliente crea una nueva conexión a IoT Hub mediante la misma identidad, por lo que IoT Hub cierra la conexión anterior. IoT Hub no permite que más de un cliente se conecte con la misma identidad. Asegúrese de que cada cliente se conecta a IoT Hub mediante su propia identidad.
400028 InvalidDeviceScope El ámbito de dispositivo especificado no es válido. Compruebe la corrección del ámbito del dispositivo.
400029 ConnectionForcefullyClosedOnFaultInjection Las conexiones existentes se cerrarán con este error durante las actualizaciones del servicio y de la plataforma. Se espera que los reintentos tengan éxito de inmediato. Vuelva a intentar la operación
400030 ConnectionRejectedOnFaultInjection Las nuevas conexiones y los intentos de reintento inmediatos se rechazarán con este error durante las actualizaciones del servicio y la plataforma. Vuelva a intentar la operación
400031 Tipo de Autenticación de Punto Final Inválido El tipo de autenticación de punto de conexión especificado no es válido. Compruebe si el tipo de autenticación del punto de conexión es correcto.
400032 IdentidadGestionadaNoHabilitada La identidad administrada no está habilitada. Habilite la identidad administrada.
400035 InvalidPolicyKey La clave de directiva especificada no es válida. Compruebe si la clave de directiva es correcta.
400036 Error de la operación de regeneración masiva de clave del dispositivo Error en la operación de regeneración masiva de la clave del dispositivo. Revise los detalles de la operación.

Errores de enrutamiento 4001xx

Es posible que vea que las solicitudes a IoT Hub producen un error que comienza con 4001. En la tabla siguiente se enumeran los códigos de error, sus descripciones y posibles soluciones.

Código de error Description Solución
400100 InvalidRouteTestInput La entrada de prueba de ruta especificada no es válida. Compruebe la entrada de prueba de ruta para ver si es correcta.
400101 InvalidSourceOnRoute El origen especificado en la ruta no es válido. Compruebe la fuente en la ruta para verificar su corrección.
400102 RoutingNotEnabled El enrutamiento no está habilitado. Habilite el enrutamiento.
400103 InvalidContentEncodingOrType La codificación o el tipo de contenido especificados no son válidos. Compruebe si la codificación o el tipo de contenido son correctos.

Errores de módulos 4003xx

Es posible que vea que las solicitudes a IoT Hub producen un error que comienza con 4003. En la tabla siguiente se enumeran los códigos de error, sus descripciones y posibles soluciones.

Código de error Description Solución
400301 No se puede registrar módulo a módulo No se admite la comunicación de módulo a módulo. Use la comunicación de dispositivo a nube o de nube a dispositivo en su lugar.
400302 TenantHubRoutingNotEnabled El enrutamiento del centro de inquilinos no está habilitado. Habilite el enrutamiento del centro de inquilinos.

Errores de configuraciones 4004xx

Es posible que vea que las solicitudes a IoT Hub producen un error que comienza con 4004. En la tabla siguiente se enumeran los códigos de error, sus descripciones y posibles soluciones.

Código de error Description Solución
400401 CondiciónObjetivoDeConfiguraciónInválida La condición de destino especificada en la configuración no es válida. Compruebe si la condición de destino es correcta.
400402 ContenidoDeConfiguraciónInválido El contenido especificado en la configuración no es válido. Compruebe si el contenido de configuración es correcto.
400403 CannotModifyImmutableConfigurationContent El contenido de configuración es inmutable y no se puede modificar. Cree una nueva configuración en su lugar.
400404 InvalidConfigurationCustomMetricsQuery La consulta de métricas personalizadas especificada en la configuración no es válida. Compruebe la consulta de métricas personalizadas para ver si es correcta.

Errores de interfaz de gemelo digital 4005xx

Es posible que vea que las solicitudes a IoT Hub producen un error que comienza con 4005. En la tabla siguiente se enumeran los códigos de error, sus descripciones y posibles soluciones.

Código de error Description Solución
400501 InvalidPnPInterfaceDefinition La definición de interfaz especificada no es válida. Compruebe si la definición de la interfaz es correcta.
400502 InvalidPnPDesiredProperties Las propiedades deseadas especificadas no son válidas. Compruebe si las propiedades deseadas son correctas.
400503 InvalidPnPReportedProperties Las propiedades notificadas especificadas no son válidas. Compruebe si las propiedades notificadas son correctas.
400504 InvalidPnPWritableReportedProperties Las propiedades editables notificadas especificadas no son válidas. Verifique que las propiedades notificadas como grabables sean correctas.
400505 InvalidDigitalTwinJsonPatch El parche JSON especificado para el gemelo digital no es válido. Revise el parche JSON para asegurarse de su correctitud.
400506 InvalidDigitalTwinPayload La carga especificada para el gemelo digital no es válida. Compruebe si la carga del gemelo digital es correcta.
400507 InvalidDigitalTwinPatch La actualización especificada para el gemelo digital no es válida. Compruebe si la revisión del gemelo digital es correcta.
400508 InvalidDigitalTwinPatchPath La ruta de acceso del parche especificada para el gemelo digital no es válida. Compruebe si la ruta de revisión del gemelo digital es correcta.

Errores no autorizados 401xxx

Es posible que vea que las solicitudes a IoT Hub producen un error que comienza con 401. En la tabla siguiente se enumeran los códigos de error, sus descripciones y posibles soluciones.

Código de error Description Solución
401000 GenericUnauthorized La solicitud no está autorizada. Compruebe las credenciales de autorización.
401001 IotHubNotFound No se encontró la instancia de IoT Hub especificada. Compruebe el nombre y la región de IoT Hub.
401002 IotHubUnauthorizedAccess La solicitud no está autorizada para acceder a IoT Hub. Compruebe las directivas y permisos de acceso de IoT Hub.
401003 IotHubUnauthorized La solicitud no está autorizada para acceder a IoT Hub. Consulte el error IotHubUnauthorized 401003 para obtener más información.
401004 ElasticPoolNotFound No se encontró el grupo elástico especificado. Compruebe el nombre y la región del pool elástico.
401100 ModificaciónNoAutorizadaDelMóduloDelSistema El módulo del sistema no está autorizado para modificar el recurso. Compruebe los permisos del módulo del sistema.

Error 401003 IotHubUnauthorized

En los registros, es posible que vea un patrón donde los dispositivos se desconectan con 401003 IoTHubUnauthorized, seguido de 404104 DeviceConnectionClosedRemotely, y después se conectan correctamente poco después.

O bien, se produce un error en las solicitudes a IoT Hub con uno de los siguientes mensajes de error:

  • Falta el encabezado de autorización
  • IotHub '*' no contiene el dispositivo especificado '*'
  • La regla de autorización '*' no permite el acceso a '*'
  • Error de autenticación para este dispositivo, renovación del token o certificado y reconexión
  • La huella digital no coincide con la configuración: Huella digital: SHA1Hash=*, SHA2Hash=*; Configuración: PrimaryThumbprint=*, SecondaryThumbprint=*
  • La entidad de seguridad user@example.com no está autorizada para la operación GET en /exampleOperation debido a que no tiene permisos asignados

Este error se produce porque, para MQTT, algunos SDK dependen de IoT Hub para emitir la desconexión cuando expira el token de SAS para saber cuándo actualizarlo. Por tanto:

  1. El token de SAS expira
  2. IoT Hub observa la expiración y desconecta el dispositivo con 401003 IoTHubUnauthorized
  3. El dispositivo completa la desconexión con 404104 DeviceConnectionClosedRemotely
  4. El SDK de IoT genera un nuevo token de SAS.
  5. El dispositivo se vuelve a conectar correctamente con IoT Hub

O bien, IoT Hub no pudo autenticar el encabezado de autenticación, la regla o la clave. Este resultado podría deberse a cualquiera de los motivos citados en los síntomas.

Para resolver este error, no es necesario realizar ninguna acción si se usa el SDK de IoT para la conexión mediante la cadena de conexión del dispositivo. El SDK de IoT vuelve a generar el nuevo token para volver a conectarse a la expiración del token de SAS.

La duración predeterminada del token es de 60 minutos en los SDK; sin embargo, para algunos SDK, se puede configurar la duración del token y el umbral de renovación de tokens. Además, los errores generados cuando un dispositivo se desconecta y vuelve a conectarse en la renovación de tokens difiere para cada SDK. Para más información, y para más información sobre cómo determinar qué SDK usa el dispositivo en los registros, consulte la sección Comportamiento de desconexión de dispositivos MQTT con los SDK de Azure IoT de Supervisión, diagnóstico y solución de problemas de conectividad de dispositivos de Azure IoT Hub.

Para los desarrolladores de dispositivos, si el volumen de errores es un problema, cambie al SDK de C, que renueva el token de SAS antes de la expiración. Para AMQP, el token de SAS puede actualizarse sin desconexión.

En general, el mensaje de error presentado debe explicar cómo corregir el error. Si por alguna razón no tiene acceso al detalle del mensaje de error, asegúrese de:

  • El SAS o cualquier otro token de seguridad que utilice no ha expirado.
  • Para la autenticación de certificados X.509, el certificado de dispositivo o el certificado de entidad de certificación asociado al dispositivo no han expirado. Para obtener información sobre cómo registrar certificados de entidad de certificación X.509 con IoT Hub, consulte Tutorial: Creación y carga de certificados para pruebas.
  • Para la autenticación de huella digital del certificado X.509, la huella digital del certificado de dispositivo se registra con IoT Hub.
  • La credencial de autorización está bien formada para el protocolo que use. Para más información, consulte Control del acceso a IoT Hub mediante el identificador de Microsoft Entra.
  • La regla de autorización empleada tiene permiso para la operación solicitada.
  • Para los últimos mensajes de error que comienzan por "principal...", este error se puede resolver asignando el nivel correcto del permiso RBAC de Azure al usuario. Por ejemplo, un propietario de IoT Hub puede asignar el rol "Propietario de datos de IoT Hub", que concede todos los permisos. Pruebe este rol para resolver el problema de falta de permisos.

Nota:

Algunos dispositivos pueden experimentar un problema de desfase de tiempo cuando el tiempo del dispositivo tiene una diferencia respecto a la hora del servidor superior a cinco minutos. Este error puede producirse cuando un dispositivo se ha estado conectando a un centro de IoT sin problemas durante semanas o incluso meses, pero después comienza a tener su conexión rechazada continuamente. El error también puede ser específico de un subconjunto de dispositivos conectados al centro de IoT, ya que el desfase de tiempo puede producirse a diferentes velocidades dependiendo de cuándo un dispositivo esté conectado o activado por primera vez.

A menudo, realizar una sincronización de tiempo mediante NTP o reiniciar el dispositivo (que puede realizar automáticamente una sincronización de hora durante la secuencia de arranque) corrige el problema y permite que el dispositivo se conecte de nuevo. Para evitar este error, configure el dispositivo para realizar una sincronización de hora periódica mediante NTP. Puede programar la sincronización para que se realice diariamente, semanalmente o mensualmente, dependiendo del desfase que experimenta el dispositivo. Si no puede configurar una sincronización NTP periódica en el dispositivo, programe un reinicio periódico.

403xxx Errores prohibidos

Es posible que vea que las solicitudes a IoT Hub producen un error que comienza con 403. En la tabla siguiente se enumeran los códigos de error, sus descripciones y posibles soluciones.

Código de error Description Solución
403000 GenericForbidden La solicitud está prohibida. Compruebe los permisos de solicitud.
403001 IotHubSuspended IoT Hub está suspendido. Compruebe el estado de IoT Hub.
403002 IotHubQuotaExceeded Se ha superado la cuota del IoT Hub. Consulte el error 403002 IotHubQuotaExceeded para obtener más información.
403003 CuotaDeTrabajoSuperada Se ha superado la cuota de trabajo. Compruebe las cuotas y los límites del trabajo.
403004 DeviceMaximumQueueDepthExceeded Se ha superado la profundidad máxima de la cola del dispositivo. Consulte el error 403004 DeviceMaximumQueueDepthExceeded para obtener más información.
403005 IotHubMaxCbsTokenExceeded Se ha superado el límite máximo de tokens CBS de IoT Hub. Compruebe los límites del token cbS de IoT Hub.
403006 LímiteMáximoDeCargaActivaDeArchivoDeDispositivoExcedido Se ha superado el límite máximo de carga de archivos activos del dispositivo. Consulte el error 403006 LímiteMáximoDeCargaDeArchivosActivosExcedidoDelDispositivo para obtener más información.
403007 DeviceMaximumQueueSizeExceeded Se ha superado el tamaño máximo de la cola del dispositivo. Compruebe el tamaño de la cola del dispositivo.
403008 RoutingEndpointResponseForbidden La respuesta del punto de conexión de enrutamiento está prohibida. Compruebe los permisos del punto de conexión.
403009 InvalidMessageExpiryTime La hora de expiración del mensaje no es válida. Compruebe la configuración de la hora de expiración del mensaje.
403010 OperationNotAvailableInCurrentTier La operación no está disponible en el nivel actual. Compruebe el nivel y las funcionalidades de IoT Hub.
403011 KeyEncryptionKeyRevoked Se ha revocado la clave de cifrado de llaves. Compruebe el estado de la clave de cifrado principal.
403012 DispositivoDeshabilitado El dispositivo se ha deshabilitado. Compruebe el estado del dispositivo.
403800 DeviceMaximumInflightMethodExceeded Se ha superado el límite máximo del método en ejecución del dispositivo. Compruebe los límites del método en ejecución del dispositivo.

Error 403002 IotHubQuotaExceeded

Es posible que vea que las solicitudes a IoT Hub producen un error 403002 IotHubQuotaExceeded. Y en Azure Portal, la lista de dispositivos de IoT Hub no se carga.

Este error se produce normalmente cuando se supera la cuota diaria de mensajes del centro de IoT. Para resolver este error:

Un trabajo de importación masiva también puede devolver este error cuando el número de dispositivos registrados en IoT Hub se aproxima o supera el límite de cuota de un centro de IoT. Para obtener más información, consulte la sección Solución de problemas en los trabajos de importación de Importar y exportar identidades de dispositivos IoT Hub de forma masiva.

Error 403004 DeviceMaximumQueueDepthExceeded

Al intentar enviar un mensaje de nube a dispositivo, es posible que vea que se produce un error 403004 en la solicitud o DeviceMaximumQueueDepthExceeded.

La causa subyacente de este error es que el número de mensajes puestos en cola para el dispositivo supera el límite de la cola.

La razón más probable de que te encuentres con este límite es porque usas HTTPS para recibir el mensaje, lo que conduce al sondeo continuo mediante ReceiveAsync, lo que da lugar a que IoT Hub limite la solicitud.

El patrón admitido para los mensajes de nube a dispositivo con HTTPS es dispositivos conectados intermitentemente que comprueban si hay mensajes con poca frecuencia (menos de cada 25 minutos). Para reducir la probabilidad de encontrarse con el límite de colas, cambie a AMQP o MQTT para mensajes de nube a dispositivo.

Como alternativa, mejore la lógica del lado del dispositivo para completar, rechazar o abandonar rápidamente los mensajes en cola, acortar el tiempo de vida o considerar la posibilidad de enviar menos mensajes. Para más información, consulte la sección Expiración de mensajes (período de vida) de Descripción de la mensajería de nube a dispositivo desde un centro de IoT.

Por último, considere la posibilidad de usar purge Queue API para limpiar periódicamente los mensajes pendientes antes de alcanzar el límite.

403006 error LímiteMáximoDeCargaDeArchivosActivosDelDispositivoExcedido

Es posible que vea que se produce un error en la solicitud de carga de archivos con el código 403006 de error o DeviceMaximumActiveFileUploadLimitExceeded un mensaje "Número de solicitudes de carga de archivos activas no puede superar los 10".

Este error se produce porque cada cliente de dispositivo está limitado para cargas simultáneas de archivos. Puede superar fácilmente el límite si el dispositivo no notifica a IoT Hub cuando se completan las cargas de archivos. Normalmente, una red del lado del dispositivo no confiable provoca este problema.

Para resolver este error, asegúrese de que el dispositivo pueda notificar rápidamente la finalización de la carga de archivos de IoT Hub. A continuación, intente reducir el TTL del token de SAS para la configuración de carga de archivos.

Errores prohibidos del modelo de dispositivo 4031xx

Es posible que vea que las solicitudes a IoT Hub producen un error que comienza con 4031. En la tabla siguiente se enumeran los códigos de error, sus descripciones y posibles soluciones.

Código de error Description Solución
403100 DeviceModelMaxPropertiesExceeded Se ha superado el límite máximo de propiedades del modelo de dispositivo. Compruebe las propiedades del modelo de dispositivo.
403101 DeviceModelMaxIndexablePropertiesExceeded Se ha superado el límite máximo de propiedades indexables del modelo de dispositivo. Compruebe las propiedades indexables del modelo de dispositivo.

Errores de NotFound 404xxx

Es posible que vea que las solicitudes a IoT Hub producen un error que comienza con 404. En la tabla siguiente se enumeran los códigos de error, sus descripciones y posibles soluciones.

Código de error Description Solución
404000 GenericNotFound No se encuentra el recurso solicitado. Compruebe el identificador de recurso e inténtelo de nuevo.
404001 DeviceNotFound No se encuentra el dispositivo especificado. Consulte 404001 error DeviceNotFound para obtener más información.
404002 JobNotFound No se encuentra el trabajo especificado. Compruebe el identificador del trabajo e inténtelo de nuevo.
404004 QuotaMetricNotFound No se encuentra la métrica de cuota especificada. Compruebe el identificador de métrica de cuota e inténtelo de nuevo.
404005 SystemPropertyNotFound No se encuentra la propiedad del sistema especificada. Compruebe el identificador de propiedad del sistema e inténtelo de nuevo.
404006 AmqpAddressNotFound No se encuentra la dirección AMQP especificada. Compruebe la dirección de AMQP e inténtelo de nuevo.
404007 RoutingEndpointResponseNotFound No se encuentra la respuesta del punto de conexión de enrutamiento especificada. Compruebe el punto de conexión de enrutamiento e inténtelo de nuevo.
404008 CertificateNotFound No se encuentra el certificado especificado. Compruebe el identificador de certificado e inténtelo de nuevo.
404009 ElasticPoolTenantHubNotFound No se encuentra el centro de inquilinos del grupo elástico especificado. Verifique el ID del centro de inquilinos del grupo elástico e inténtelo de nuevo.
404010 ModuleNotFound No se encuentra el módulo especificado. Compruebe el identificador del módulo e inténtelo de nuevo.
404011 AzureTableStoreNotFound No se encuentra el almacén de tablas de Azure especificado. Compruebe el identificador del Almacén de tablas de Azure e inténtelo de nuevo.
404012 IotHubFailingOver IoT Hub está fallando. Compruebe el estado de IoT Hub e inténtelo de nuevo.
404013 FunciónNoSoportada No se admite la característica solicitada. Compruebe la documentación de características e inténtelo de nuevo.
404014 DigitalTwinInterfaceNotFound No se encuentra la interfaz de Digital Twin especificada. Compruebe el identificador de la interfaz de Digital Twin e inténtelo de nuevo.

Error 404001 DeviceNotFound

Durante una comunicación de la nube al dispositivo (C2D), como el mensaje C2D, la actualización gemela o el método directo, puede que vea que la operación produce un error 404001 DeviceNotFound.

Error en la operación porque IoT Hub no encuentra el dispositivo. El dispositivo no está registrado o está deshabilitado.

Para resolver este error, registre el identificador de dispositivo que usó y vuelva a intentarlo.

Errores del modelo de dispositivo 4041xx NotFound

Es posible que vea que las solicitudes a IoT Hub producen un error que comienza con 4041. En la tabla siguiente se enumeran los códigos de error, sus descripciones y posibles soluciones.

Código de error Description Solución
404101 QueryStoreClusterNotFound No se encuentra el clúster del almacén de consultas especificado. Compruebe el identificador del clúster del almacén de consultas e inténtelo de nuevo.
404102 DeviceNotOnline El dispositivo especificado no está en línea. Consulte 404103 error DeviceNotOnline para obtener más información.
404104 Conexión del dispositivo cerrada de forma remota La conexión del dispositivo se cerró de forma remota. Consulte el error 404104 DeviceConnectionClosedRemotely para obtener más información.

error de 404103 DeviceNotOnline

Podría ver que un método directo a un dispositivo falla con el error 404103 DeviceNotOnline incluso si el dispositivo está en línea.

Si sabe que el dispositivo está en línea y sigue recibiendo el error, es probable que se produzca el error porque la devolución de llamada del método directo no está registrada en el dispositivo.

Para obtener más información sobre la configuración correcta del dispositivo para las devoluciones de llamada de métodos directos, consulte la sección Controlar un método directo en un dispositivo de Controlar un método directo en un dispositivo.

error 404104 ConexiónDelDispositivoCerradaRemotamente

Es posible que vea que los dispositivos se desconectan a intervalos regulares (cada 65 minutos, por ejemplo) y verá 404104 DeviceConnectionClosedRemotely en los registros de recursos de IoT Hub. A veces también aparece 401003 IoTHubUnauthorized y un evento de conexión correcta de dispositivo menos de un minuto después.

O los dispositivos se desconectan aleatoriamente y se ve 404104 DeviceConnectionClosedRemotely en los registros de recursos de IoT Hub.

O bien, muchos dispositivos se desconectan a la vez, se ve una interrupción en la métrica de dispositivos conectados (connectedDeviceCount) y hay más errores 404104 DeviceConnectionClosedRemotely y errores internos 500xxx en los registros de Azure Monitor de lo habitual.

Este error puede producirse porque el token de SAS usado para conectarse a IoT Hub expiró, lo que hace que IoT Hub desconecte el dispositivo. La conexión se vuelve a establecer cuando el dispositivo actualiza el token. Por ejemplo, el token de SAS expira cada hora de forma predeterminada para el SDK de C, lo que puede provocar desconexiones normales. Para más información, consulte 401003 IoTHubUnauthorized error.

Entre otras posibilidades se incluyen:

  • El dispositivo perdió la conectividad de red subyacente durante más tiempo que el tiempo de espera de MQTT, lo que da lugar a un tiempo de espera de inactividad remoto. La configuración de mantenimiento de MQTT puede ser diferente por dispositivo.
  • El dispositivo envió un restablecimiento a nivel TCP/IP, pero no envió uno a nivel de aplicación MQTT DISCONNECT. Básicamente, el dispositivo cerró abruptamente la conexión de socket subyacente. A veces, los errores en versiones anteriores del SDK de Azure IoT podrían provocar este problema.
  • La aplicación del dispositivo se ha bloqueado.

O bien, IoT Hub podría estar experimentando un problema transitorio. Para obtener más información, vea Errores internos 500xxx.

Para resolver este error:

Nota:

Se recomienda el uso de los SDK de dispositivo IoT de Azure para administrar las conexiones de forma confiable. Para más información, consulte Administración de reconexión de dispositivos para crear aplicaciones resistentes.

Errores de configuración 4043xx NotFound

Es posible que vea que las solicitudes a IoT Hub producen un error que comienza con 4043. En la tabla siguiente se enumeran los códigos de error, sus descripciones y posibles soluciones.

Código de error Description Solución
404301 ConfigurationNotFound (Configuración no encontrada) No se encuentra la configuración especificada. Compruebe el identificador de configuración e inténtelo de nuevo.
404302 GrupoNoEncontrado No se encuentra el grupo especificado. Compruebe el identificador de grupo e inténtelo de nuevo.

Errores de PnP 4044xx NotFound

Es posible que vea que las solicitudes a IoT Hub producen un error que comienza con 4044. En la tabla siguiente se enumeran los códigos de error, sus descripciones y posibles soluciones.

Código de error Description Solución
404401 DigitalTwinModelNotFound No se encuentra el modelo de gemelo digital especificado. Compruebe el identificador del modelo de gemelo digital e inténtelo de nuevo.
404402 InterfaceNameModelNotFound No se encuentra el modelo de nombre de interfaz especificado. Compruebe el identificador del modelo de nombre de interfaz e inténtelo de nuevo.

405xxx errores de método no permitido

Es posible que vea que las solicitudes a IoT Hub producen un error que comienza con 405. En la tabla siguiente se enumeran los códigos de error, sus descripciones y posibles soluciones.

Código de error Description Solución
405000 GenericMethodNotAllowed No se permite el método especificado. Compruebe el método e inténtelo de nuevo.

Errores de MethodNotAllowed del modelo de dispositivo 4051xx

Es posible que vea que las solicitudes a IoT Hub producen un error que comienza con 4051. En la tabla siguiente se enumeran los códigos de error, sus descripciones y posibles soluciones.

Código de error Description Solución
405102 OperaciónNoPermitidaEnEstadoActual No se permite la operación en el estado actual. Compruebe el estado del dispositivo e inténtelo de nuevo.
405103 ImportaciónDeDispositivosNoSoportada No se admite la importación de dispositivos. Compruebe la configuración de importación e inténtelo de nuevo.
405104 BulkAddDevicesNotSupported No se admite la adición masiva de dispositivos. Compruebe la configuración de incorporación masiva e inténtelo de nuevo.

Errores de conflicto 409xxx

Es posible que vea que las solicitudes a IoT Hub producen un error que comienza con 409. En la tabla siguiente se enumeran los códigos de error, sus descripciones y posibles soluciones.

Código de error Description Solución
409000 GenericConflict Se produjo un conflicto. Compruebe la solicitud e inténtelo de nuevo.
409001 ElDispositivoYaExiste El dispositivo especificado ya existe. Consulte 409001 error DeviceAlreadyExists para obtener más información.
409002 LinkCreationConflict Se produjo un conflicto al crear un vínculo. Consulte error 409002 de LinkCreationConflict para obtener más información.
409003 CallbackSubscriptionConflict Se produjo un conflicto con la suscripción de devolución de llamada. Verifique la configuración de la suscripción de callback e inténtelo de nuevo.

Error 409001 DispositivoYaExiste

Al intentar registrar un dispositivo en IoT Hub, es posible que vea que se produce un error 409001 DeviceAlreadyExistsen la solicitud.

Este error se produce porque ya hay un dispositivo con el mismo identificador de dispositivo en ioT Hub.

Para resolver este error, use otro identificador de dispositivo e inténtelo de nuevo.

error 409002: ConflictoDeCreaciónDeEnlace

Es posible que vea el error 409002 LinkCreationConflict en los registros junto con la desconexión del dispositivo o un error de mensaje de nube a dispositivo.

Por lo general, este error se produce cuando IoT Hub detecta que un cliente tiene más de una conexión. De hecho, cuando llega una nueva solicitud de conexión para un dispositivo con una conexión existente, IoT Hub cierra la conexión existente con este error.

En el caso más común, un problema independiente (como 404104 error DeviceConnectionClosedRemotely) hace que el dispositivo se desconecte. El dispositivo intenta restablecer la conexión inmediatamente, pero IoT Hub sigue teniendo en cuenta el dispositivo conectado. IoT Hub cierra la conexión anterior y registra este error.

O bien, la lógica errónea del lado del dispositivo hace que el dispositivo establezca la conexión cuando una ya esté abierta.

Para resolver este error, busque otros errores en los registros que puede solucionar porque este error suele aparecer como un efecto secundario de un problema transitorio diferente. De lo contrario, asegúrese de emitir una nueva solicitud de conexión solo si la conexión se interrumpe.

Errores de conflicto en el modelo de dispositivo 4091xx

Es posible que vea que las solicitudes a IoT Hub producen un error que comienza con 4091. En la tabla siguiente se enumeran los códigos de error, sus descripciones y posibles soluciones.

Código de error Description Solución
409101 El modelo ya existe El modelo especificado ya existe. Compruebe el identificador del modelo e inténtelo de nuevo.
409102 DeviceLocked El dispositivo especificado está bloqueado. Compruebe el estado del dispositivo e inténtelo de nuevo.
409103 DeviceJobAlreadyExists La tarea de dispositivo especificada ya existe. Compruebe el identificador de trabajo del dispositivo e inténtelo de nuevo.
409104 JobAlreadyExists El trabajo especificado ya existe. Compruebe el identificador del trabajo e inténtelo de nuevo.

Errores de conflicto en módulos 4093xx

Es posible que vea que las solicitudes a IoT Hub producen un error que comienza con 4093. En la tabla siguiente se enumeran los códigos de error, sus descripciones y posibles soluciones.

Código de error Description Solución
409301 El módulo ya existe en el dispositivo El módulo especificado ya existe en el dispositivo. Compruebe el identificador del módulo e inténtelo de nuevo.

Errores de conflicto de configuración 4094xx

Es posible que vea que las solicitudes a IoT Hub producen un error que comienza con 4094. En la tabla siguiente se enumeran los códigos de error, sus descripciones y posibles soluciones.

Código de error Description Solución
409401 ConfigurationAlreadyExists La configuración especificada ya existe. Compruebe el identificador de configuración e inténtelo de nuevo.
409402 ApplyConfigurationAlreadyInProgressOnDevice La aplicación de configuración especificada ya está en curso en el dispositivo. Compruebe el estado del dispositivo e inténtelo de nuevo.

Errores de conflicto de gemelos digitales 4095xx

Es posible que vea que las solicitudes a IoT Hub producen un error que comienza con 4095. En la tabla siguiente se enumeran los códigos de error, sus descripciones y posibles soluciones.

Código de error Description Solución
409501 ElModeloDeGemeloDigitalYaExiste El modelo de gemelo digital especificado ya existe. Compruebe el identificador del modelo de gemelo digital e inténtelo de nuevo.
409502 DigitalTwinModelExistsWithOtherModelType (El modelo de gemelo digital existe con otro tipo de modelo) El modelo de gemelo digital especificado existe con un tipo de modelo diferente. Compruebe el tipo de modelo de gemelo digital y vuelva a intentarlo.
409503 InterfaceNameModelAlreadyExists El modelo de nombre de interfaz especificado ya existe. Compruebe el identificador del modelo de nombre de interfaz e inténtelo de nuevo.

Errores 412xxx PreconditionFailed

Es posible que vea que las solicitudes a IoT Hub producen un error que comienza con 412. En la tabla siguiente se enumeran los códigos de error, sus descripciones y posibles soluciones.

Código de error Description Solución
412000 GenericPreconditionFailed Error de condición previa genérica. Compruebe la solicitud e inténtelo de nuevo.
412001 Condición previa fallida Error en la condición previa. Compruebe la solicitud e inténtelo de nuevo.
412002 DeviceMessageLockLost Se perdió el bloqueo de mensajes del dispositivo. Consulte el error 412002 DeviceMessageLockLost para obtener más información.
412003 JobRunPreconditionFailed Fallo en la precondición de ejecución del trabajo. Compruebe el estado del trabajo e inténtelo de nuevo.
412004 InflightMessagesInLink Hay mensajes en ejecución en el enlace. Compruebe el estado del vínculo e inténtelo de nuevo.

Error 412002 DeviceMessageLockLost

Al intentar enviar un mensaje de nube a dispositivo, es posible que vea que se produce un error en la solicitud con el error 412002 DeviceMessageLockLost.

Este error se produce porque cuando un dispositivo recibe un mensaje de nube a dispositivo de la cola (por ejemplo, mediante ReceiveAsync()), IoT Hub bloquea el mensaje durante un tiempo de espera de bloqueo de un minuto. Si el dispositivo intenta completar el mensaje después de que expire el tiempo de espera de bloqueo, IoT Hub lanza esta excepción.

Si IoT Hub no recibe la notificación dentro del plazo de un minuto de espera de bloqueo, restablece el mensaje al estado Enqueued. El dispositivo puede intentar recibir el mensaje de nuevo. Para evitar que el error se produzca en el futuro, implemente la lógica del lado del dispositivo para completar el mensaje en un minuto después de recibir el mensaje. Este tiempo de espera de un minuto no se puede cambiar.

Errores 413xxx Entidad de solicitud demasiado grande

Es posible que vea que las solicitudes a IoT Hub producen un error que comienza con 413. En la tabla siguiente se enumeran los códigos de error, sus descripciones y posibles soluciones.

Código de error Description Solución
413000 GenericRequestEntityTooLarge La entidad de solicitud es demasiado grande. Reduzca el tamaño de la entidad de solicitud e inténtelo de nuevo.
413001 MessageTooLarge El mensaje es demasiado grande. Reduzca el tamaño del mensaje e inténtelo de nuevo.
413002 TooManyDevices Hay demasiados dispositivos registrados. Reduzca el número de dispositivos e inténtelo de nuevo.
413003 DemasiadosMódulosEnElDispositivo Hay demasiados módulos registrados en el dispositivo. Reduzca el número de módulos e inténtelo de nuevo.
413101 ConfigurationCountLimitExceeded - Límite de número de configuraciones excedido. Se ha superado el límite de recuento de configuración. Reduzca el número de configuraciones e inténtelo de nuevo.
413201 DigitalTwinModelCountLimitExceeded Se ha superado el límite de recuento de modelos de gemelos digitales. Reduzca el número de modelos de gemelos digitales e inténtelo de nuevo.
413202 InterfaceNameCompressionModelCountLimitExceeded Se ha superado el límite de recuento de modelos de compresión de nombres de interfaz. Reduzca el número de modelos de compresión de nombres de interfaz e inténtelo de nuevo.

Errores 415xxx de tipo de medio no admitido

Es posible que vea que las solicitudes a IoT Hub producen un error que comienza con 415. En la tabla siguiente se enumeran los códigos de error, sus descripciones y posibles soluciones.

Código de error Description Solución
415000 GenericUnsupportedMediaType No se admite el tipo de medio. Compruebe el tipo de medio e inténtelo de nuevo.
415101 IncompatibleDataType El tipo de datos no es compatible. Compruebe el tipo de datos e inténtelo de nuevo.

Errores 429xxx de excepción limitación

Es posible que vea que las solicitudes a IoT Hub producen un error que comienza con 429. En la tabla siguiente se enumeran los códigos de error, sus descripciones y posibles soluciones.

Código de error Description Solución
429000 GenericTooManyRequests Se realizaron demasiadas solicitudes. Reduzca el número de solicitudes e inténtelo de nuevo.
429001 ThrottlingException Se produjo una excepción de limitación. Consulte la documentación sobre límites de limitación para obtener más información.
429002 ThrottleBacklogLimitExceeded El número de solicitudes que se encuentran en la cola de solicitudes pendientes debido a la limitación ha superado el límite de la cola. Reduzca el número de solicitudes e inténtelo de nuevo. Consulte la documentación sobre Modelado del tráfico para obtener más información sobre cómo funciona el modelado del tráfico antes de enviar la respuesta de limitación.
429003 ThrottlingBacklogTimeout Las solicitudes que se acumularon debido a la limitación han agotado el tiempo de espera mientras estaban en la cola de trabajos pendientes. Reduzca el número de solicitudes e inténtelo de nuevo.
429004 ThrottlingMaxActiveJobCountExceeded Se ha superado el número máximo de trabajos activos. Reduzca el número de trabajos activos e inténtelo de nuevo.
429005 DeviceThrottlingLimitExceeded Se ha superado la limitación del dispositivo. Reduzca el número de solicitudes del dispositivo e inténtelo de nuevo.

Estos errores se producen cuando se superan los límites de limitación de la operación solicitada.

Solo puede supervisar el error 429001 ThrottlingException a través de Azure Monitor en la métrica Número de errores de limitación. Actualmente, los demás errores de limitación no tienen una métrica asociada, pero se capturan en los registros.

Para resolver estos errores, compruebe si alcanza el límite de limitación comparando la métrica Intentos de envío de mensajes de telemetría con los límites especificados anteriormente. También puede comprobar la métrica Número de errores de limitación. Para obtener información sobre estas métricas, consulte Métricas de telemetría del dispositivo. Para obtener información sobre cómo usar métricas para ayudarle a supervisar el centro de IoT, consulte Supervisión de Azure IoT Hub.

IoT Hub solo devuelve 429001 ThrottlingException después de que se infringe el límite durante demasiado tiempo. Este retraso se realiza para que los mensajes no se pierdan si el hub de IoT recibe tráfico de ráfaga. Mientras tanto, IoT Hub procesa los mensajes en la velocidad limitada de la operación, que podría ser lenta si hay mucho tráfico en el trabajo pendiente. Para más información, consulte la sección Gestión del tráfico de cuotas y limitaciones de IoT Hub.

Considere la posibilidad de escalar verticalmente el IoT Hub si alcanza los límites de cuota u otras limitaciones.

Errores 499xxx de solicitud cerrada por el cliente

Es posible que vea que las solicitudes a IoT Hub producen un error que comienza con 499. En la tabla siguiente se enumeran los códigos de error, sus descripciones y posibles soluciones.

Código de error Description Solución
499000 ClientClosedRequest El cliente cerró la solicitud. Inténtalo de nuevo más tarde.

Errores de servidor interno 500xxx

Es posible que vea que las solicitudes a IoT Hub producen un error que comienza con 500 o menciona un error de servidor. Algunas posibilidades son:

Código de error Description
500001 ServerError Error del lado servidor.
500008 GenericTimeout IoT Hub no pudo completar la solicitud de conexión antes de que se agote el tiempo de espera.
ServiceUnavailable (sin código de error) IoT Hub encontró un error interno.
InternalServerError (sin código de error) IoT Hub encontró un error interno.

Puede haber muchas causas de una 500xxx respuesta de error. En todos los casos, es más probable que el problema sea transitorio. Aunque el equipo de IoT Hub trabaja duro para mantener el Acuerdo de Nivel de Servicio, algunos subconjuntos pequeños de nodos de IoT Hub pueden experimentar ocasionalmente errores transitorios. Cuando el dispositivo intenta conectarse a un nodo que tiene problemas, recibe este error.

Para mitigar los errores 5000xx, realice un reintento desde el dispositivo. Para administrar automáticamente los reintentos, asegúrese de usar la versión más reciente de los SDK de Azure IoT Hub. Para obtener más información sobre los procedimientos recomendados para el control de errores transitorios y los reintentos, consulte Control de errores transitorios.

Si el problema persiste, compruebe Resource Health y Estado de Azure para ver si IoT Hub tiene un problema conocido. También puede usar la función de conmutación por error manual.

Si no hay problemas conocidos y el problema continúa, póngase en contacto con el soporte técnico para una investigación más detallada.

Es posible que vea que las solicitudes a IoT Hub producen un error que comienza con 5003. En la tabla siguiente se enumeran los códigos de error, sus descripciones y posibles soluciones.

Código de error Description Solución
500301 ModelRepoEndpointError El punto de conexión del repositorio del modelo no es válido. Compruebe el punto de conexión del repositorio de modelos e inténtelo de nuevo.
500302 ResolutionError Error de resolución. Inténtalo de nuevo más tarde.

Es posible que vea que las solicitudes a IoT Hub producen un error que comienza con 5004. En la tabla siguiente se enumeran los códigos de error, sus descripciones y posibles soluciones.

Código de error Description Solución
500401 No se pueden obtener credenciales No se pueden obtener las credenciales. Compruebe las credenciales e inténtelo de nuevo.
500402 NoSePuedeObtenerLaInformaciónDelInquilino No se puede obtener la información del arrendatario. Compruebe la información del inquilino e inténtelo de nuevo.
500403 ImposibleCompartirIdentidad No se puede compartir la identidad. Compruebe la configuración de uso compartido de identidades e inténtelo de nuevo.

Es posible que vea que las solicitudes a IoT Hub producen un error que comienza con 5005. En la tabla siguiente se enumeran los códigos de error, sus descripciones y posibles soluciones.

Código de error Description Solución
500501 UnableToExpandDiscoveryInfo No se puede ampliar la información de descubrimiento. Compruebe la información de detección e inténtelo de nuevo.
500502 UnableToExpandComponentInfo No se puede expandir la información del componente. Compruebe la información del componente e inténtelo de nuevo.
500503 UnableToCompressComponentInfo No se puede comprimir la información del componente. Compruebe la información del componente e inténtelo de nuevo.
500504 UnableToCompressDiscoveryInfo No se puede comprimir la información de detección. Compruebe la información de detección e inténtelo de nuevo.
500505 OrphanDiscoveryDocument Se encontró un documento de detección huérfano. Compruebe el documento de detección e inténtelo de nuevo.

Es posible que vea que las solicitudes a IoT Hub producen un error que comienza con 502. En la tabla siguiente se enumeran los códigos de error, sus descripciones y posibles soluciones.

Código de error Description Solución
502000 GenericBadGateway Error genérico de puerta de enlace incorrecta. Inténtalo de nuevo más tarde.

Es posible que vea que las solicitudes a IoT Hub producen un error que comienza con 503. En la tabla siguiente se enumeran los códigos de error, sus descripciones y posibles soluciones.

Código de error Description Solución
503000 GenericServiceUnavailable Se produjo un error genérico de servicio no disponible. Inténtalo de nuevo más tarde.
503001 ServiceUnavailable El servicio no está disponible. Inténtalo de nuevo más tarde.
503004 IotHubActivationFailed Error de activación de IoT Hub. Compruebe el estado de IoT Hub e inténtelo de nuevo.
503005 ServerBusy El servidor está ocupado. Inténtalo de nuevo más tarde.
503006 IotHubRestoring El IoT Hub está siendo restaurado. Inténtalo de nuevo más tarde.
503008 ReceiveLinkOpensThrottled Se limitan las aperturas de vínculo de recepción. Inténtalo de nuevo más tarde.

Errores 5031xx de modelo de dispositivo no disponible

Es posible que vea que las solicitudes a IoT Hub producen un error que comienza con 5031. En la tabla siguiente se enumeran los códigos de error, sus descripciones y posibles soluciones.

Código de error Description Solución
503101 ConnectionUnavailable La conexión no está disponible. Compruebe la conexión e inténtelo de nuevo.
503102 DispositivoNoDisponible El dispositivo no está disponible. Compruebe el estado del dispositivo e inténtelo de nuevo.

Errores 5032xx de configuración no disponible

Es posible que vea que las solicitudes a IoT Hub producen un error que comienza con 5032. En la tabla siguiente se enumeran los códigos de error, sus descripciones y posibles soluciones.

Código de error Description Solución
503201 ConfiguraciónNoDisponible La configuración no está disponible. Compruebe la configuración e inténtelo de nuevo.
503202 GroupNotAvailable El grupo no está disponible. Compruebe el grupo e inténtelo de nuevo.

Es posible que vea que las solicitudes a IoT Hub producen un error que comienza con 5033. En la tabla siguiente se enumeran los códigos de error, sus descripciones y posibles soluciones.

Código de error Description Solución
503301 HostingServiceNotAvailable El servicio de hospedaje no está disponible. Inténtalo de nuevo más tarde.

Es posible que vea que las solicitudes a IoT Hub producen un error que comienza con 504. En la tabla siguiente se enumeran los códigos de error, sus descripciones y posibles soluciones.

Código de error Description Solución
504000 GenericGatewayTimeout Error genérico de tiempo de espera de la puerta de enlace. Inténtalo de nuevo más tarde.
504101 GatewayTimeout Se ha agotado el tiempo de espera de la puerta de enlace. Consulte 504101 error GatewayTimeout para obtener más información.

Error 504101 GatewayTimeout

Al intentar invocar un método directo de IoT Hub a un dispositivo, es posible que vea que se produce un error en la solicitud con el error 504101 GatewayTimeout.

Este error se produce porque IoT Hub encontró un error y no pudo confirmar si el método directo se completó antes de que se agote el tiempo de espera. O bien, al usar una versión anterior del SDK de C# de Azure IoT (<1.19.0), el vínculo de AMQP entre el dispositivo e IoT Hub se puede quitar silenciosamente debido a un error.

Para resolver este error, emita un reintento o una actualización a la versión más reciente del SDK de C# de Azure IOT.