Problemas conocidos de Operaciones de IoT de Azure

En este artículo se enumeran los problemas conocidos actuales que podría surgir al usar Operaciones de IoT de Azure. La guía le ayuda a identificar estos problemas y proporciona soluciones alternativas cuando están disponibles.

Para obtener instrucciones generales de solución de problemas, consulte Troubleshoot Operaciones de IoT de Azure.

Problemas de implementación y actualización

En esta sección se enumeran los problemas conocidos actuales con la implementación y actualización de Operaciones de IoT de Azure.

La actualización a Operaciones de IoT de Azure 2603 puede fallar silenciosamente


Firma de registro: N/D


Al ejecutar az iot ops upgrade para actualizar a Operaciones de IoT de Azure 2603, la actualización puede no alcanzar el clúster de forma silenciosa. A continuación, observará los siguientes síntomas:

  • provisioningState: Failed en la extensión Operaciones de IoT de Azure.
  • Todas las cargas de trabajo en clúster siguen siendo correctas (no se produce ninguna actividad de actualización).
  • az iot ops upgrade puede no reportar nada que actualizar en los intentos posteriores.

Causa principal

  Durante la actualización, si una extensión del sistema dependiente, como microsoft.extensiondiagnostics experimenta un tiempo de espera transitorio de Helm, Azure Resource Manager lo marca como Failed. Incluso si la extensión se realiza correctamente en el clúster, el estado del lado de la nube sigue siendo Erróneo. Esto bloquea la cadena de dependencias: Azure Resource Manager nunca entrega la configuración actualizada de la extensión Operaciones de IoT de Azure o del almacén secreto al agente de configuración del clúster.   Los síntomas incluyen:

  • El agente de Configuración PostStatus devuelve 400: "Configuration spec has been modified"
  • getPendingConfigs devuelve resultados vacíos
  • El administrador de extensiones nunca recibe instrucciones de actualización de Helm

Solución alternativa

  La solución consiste en forzar Azure Resource Manager volver a enviar las especificaciones de extensión mediante la ejecución de una actualización de no-op en las extensiones Operaciones de IoT de Azure y secret-store y, a continuación, volver a intentar la actualización:

az k8s-extension update --name <aio-extension-name> \
    --cluster-name <cluster-name> \
    --resource-group <resource-group> \
    --cluster-type connectedClusters \
    --configuration-settings AgentOperationTimeoutInMinutes=120

az k8s-extension update --name azure-secret-store \
    --cluster-name <cluster-name> \
    --resource-group <resource-group> \
    --cluster-type connectedClusters \
    --configuration-settings AgentOperationTimeoutInMinutes=120

az iot ops upgrade

Para identificar el nombre de la extensión Operaciones de IoT de Azure, que incluye un sufijo aleatorio (por ejemplo, azure-iot-operations-cym7h), busque el nombre de extensión específico ejecutando:

az k8s-extension list \
    --cluster-name <cluster-name> \
    --resource-group <resource-group> \
    --cluster-type connectedClusters \
    --query "[?extensionType=='microsoft.iotoperations'].name" -o tsv

Importante

Una vez completada la actualización, restablezca AgentOperationTimeoutInMinutes de nuevo a un valor inferior como cinco minutos para evitar tiempos de espera largos en operaciones futuras si se produce un error en otra cosa.

problemas del Registro de dispositivos de Azure

En esta sección se enumeran los problemas conocidos actuales del registro de dispositivos de Azure.

Los recursos de activos de ADR no se sincronizan


Identificador de problema: 1235


Firma de registro: N/D


Azure los recursos del Registro de dispositivos no se sincronizan de vuelta si se han creado utilizando una versión anterior de la API.

Problemas del agente MQTT

En esta sección se enumeran los problemas conocidos actuales del agente MQTT.

Los recursos del agente MQTT no están visibles en el portal de Azure


Identificador de problema: 4257


Firma de registro: N/D


Los recursos del agente MQTT creados en el clúster mediante Kubernetes no están visibles en el portal de Azure. Este resultado se espera porque administrar componentes de Operaciones de IoT de Azure mediante Kubernetes es solo para depuración y pruebas, y actualmente no se admite la sincronización de recursos desde el borde hacia la nube.

Actualmente, no hay ninguna solución alternativa para este problema.

Problemas generales del conector

En esta sección se enumeran los problemas conocidos actuales que afectan a todos los conectores.

El conector no detecta actualizaciones de las credenciales del dispositivo en Azure Key Vault


Identificador de problema: 6514


N/A


El conector no recibe una notificación cuando se actualizan las credenciales del dispositivo almacenadas en Azure Key Vault. Como resultado, el conector sigue usando las credenciales antiguas hasta que se reinicie.

Solución alternativa: reinicie el conector para obligarlo a recuperar las credenciales actualizadas de Azure Key Vault.

En el caso de los conectores de Akri, el único tipo de autenticación admitido para los puntos de conexión del Registro es artifact pull secrets


Identificador de problema: 4570


Firma de registro: N/D


Al especificar la referencia del punto de conexión del Registro en una plantilla de conector, hay varios métodos de autenticación admitidos. Los conectores de Akri solo admiten la autenticación artifact pull secrets.

Los conectores de Akri no funcionan con los recursos del extremo de registro


Identificador de problema: 7710


Se corrigió en la versión 1.2.154 (2512) y versiones posteriores.


Firma de registro:

[aio_akri_logs@311 tid="7"] - failed to generate StatefulSet payload for instance rest-connector-template-...
[aio_akri_logs@311 tid="7"] - reconciliation error for Connector resource... 
[aio_akri_logs@311 tid="7"] - reconciliation of Connector resource failed...

Si crea un recurso RegistryEndpoint usando Bicep y hace referencia a él en el recurso ConnectorTemplate, cuando el operador de Akri intenta reconciliar el recurso ConnectorTemplate se produce un error como se mostró anteriormente.

Solución alternativa: no use recursos RegistryEndpoint con conectores de Akri. En su lugar, especifique la información del registro en la configuración ContainerRegistry del recurso ConnectorTemplate.

Error de Akri al actualizar o eliminar una instancia de Operaciones de IoT de Azure


Identificador de problema: 9347


Se corrigió en la versión 1.2.154 (2512) y versiones posteriores.


Los usuarios pueden encontrar un error con respecto a los certificados de webhook expirados con Akri al eliminar o actualizar instancias de Operaciones de IoT de Azure o realizar operaciones CRUD en recursos de Akri, como Connector y ConnectorTemplates.

Solución alternativa: ejecute kubectl delete pod -n azure-iot-operations aio-akri-webhook-0 --ignore-not-found para eliminar y reiniciar los pods de webhook para permitir que el pod recoja el nuevo certificado.

Problemas de conector para OPC UA

En esta sección se enumeran los problemas conocidos actuales del conector para OPC UA.

No se pueden usar caracteres especiales en nombres de eventos


Identificador de problema: 1532


Se corrigió en la versión 1.3.36 (2603) y versiones posteriores.


Firma de registro: 2025-10-22T14:51:59.338Z aio-opc-opc.tcp-1-68ff6d4c59-nj2s4 - Updated schema information for Boiler#1Notifier skipped!


Se produce un error en la generación de esquemas si los nombres de evento contienen caracteres especiales como #, %o &. Evite usar estos caracteres en nombres de eventos para evitar problemas de generación de esquemas.

Problemas de conector para medios y conectores para ONVIF

En esta sección se enumeran los problemas conocidos actuales del conector para medios y el conector para ONVIF.

Conflicto de sincronización de secretos


Identificador de problema: 0606


Firma de registro: N/D


Al usar la sincronización de secretos, asegúrese de que los nombres de secreto sean únicos globalmente. Si existe un secreto local con el mismo nombre, es posible que los conectores no recuperen el secreto previsto.

El destino de eventos de activos ONVIF solo se puede configurar en el nivel de grupo o recurso


Identificador de problema: 9545


Se corrigió en la versión 1.2.154 (2512) y versiones posteriores.


Firma de registro similar a:

No matching event subscription for topic: "tns1:RuleEngine/CellMotionDetector/Motion"


Actualmente, los destinos de eventos de activos ONVIF solo se reconocen a nivel de grupo de eventos o de activo. La configuración de destinos en el nivel de evento individual da como resultado entradas de registro similares al ejemplo y no se publica ningún dato de evento en el agente MQTT.

Como solución alternativa, configure el destino del evento en el nivel de grupo de eventos o recurso en lugar del nivel de evento individual. Por ejemplo, con defaultEventsDestinations en el nivel de grupo de eventos:

eventGroups:
  - dataSource: ""
    events:
    - dataSource: tns1:RuleEngine/CellMotionDetector/Motion
      destinations:
      - configuration:
          qos: Qos1
          retain: Never
          topic: azure-iot-operations/data/motion
          ttl: 5
        target: Mqtt
      name: Motion
    name: Default
    defaultEventsDestinations:
    - configuration:
        qos: Qos1
        retain: Never
        topic: azure-iot-operations/data/motion
        ttl: 5
      target: Mqtt

Problemas de flujos de datos

En esta sección se enumeran los problemas conocidos actuales de los flujos de datos.

Los recursos de flujo de datos no son visibles en la interfaz de usuario web de la experiencia de operaciones


Identificador de problema: 8724


Firma de registro: N/D


Los recursos personalizados de flujo de datos creados en el clúster mediante Kubernetes no son visibles en la interfaz de usuario web de la experiencia de operaciones. Este resultado se espera porque administrar componentes de Operaciones de IoT de Azure mediante Kubernetes es solo para depuración y pruebas, y actualmente no se admite la sincronización de recursos desde el borde hacia la nube.

Actualmente, no hay ninguna solución alternativa para este problema.

Un perfil de flujo de datos no puede superar los 70 flujos de datos


Identificador de problema: 1028


Firma de registro:

exec /bin/main: argument list too long


Si crea más de 70 flujos de datos para un único perfil de flujo de datos, las implementaciones producirán el error exec /bin/main: argument list too long.

Para solucionar este problema, cree varios perfiles de flujo de datos y distribuya los flujos de datos entre ellos. No supere los 70 flujos de datos por perfil.

Los gráficos de flujo de datos solo admiten tipos de punto de conexión específicos


Identificador de problema: 5693


Firma de registro: N/D


Actualmente, los gráficos de flujo de datos (WASM) solo son compatibles con los puntos de conexión de flujo de datos MQTT, Kafka y OpenTelemetry (OTel). Los puntos de conexión de OpenTelemetry solo se pueden usar como destinos en gráficos de flujo de datos. Otros tipos de punto de conexión, como Data Lake, Microsoft Fabric OneLake, Azure Data Explorer y Almacenamiento local no se admiten para gráficos de flujo de datos.

Para solucionar este problema, use uno de los tipos de punto de conexión admitidos:

Para obtener más información sobre los gráficos de flujo de datos, consulte Uso de WebAssembly (WASM) con gráficos de flujo de datos.

No se puede usar la misma definición de grafo varias veces en un escenario de grafo encadenado


Identificador de problema: 1352


Se corrigió en la versión 1.3.36 (2603) y versiones posteriores.


No se pudo enviar la configuración


Para crear un escenario de grafo encadenado, use la salida de un gráfico de flujo de datos como entrada en otro gráfico de flujo de datos. Sin embargo, si intenta usar la misma definición de grafo varias veces en este escenario, actualmente no funciona según lo previsto. Por ejemplo, se produce un error en el código siguiente al usar la misma definición de grafo (graph-passthrough:1.3.6) para tanto graph-1 como graph-2.

      {
          nodeType: 'Graph'
          name: 'graph-1'
          graphSettings: {
            registryEndpointRef: dataflowRegistryEndpoint.name
            artifact: 'graph-passthrough:1.3.6'
            configuration: []
            }
      }
      {
          nodeType: 'Graph'
          name: 'graph-2'
          graphSettings: {
            registryEndpointRef: dataflowRegistryEndpoint.name
            artifact: 'graph-passthrough:1.3.6'
            configuration: graphConfiguration
            }
      }
  nodeConnections: [
      {
          from: {name: 'source'}
          to: {name: 'graph-1'}
      }
      {
          from: {name: 'graph-1'}
          to: {name: 'graph-2'}
      }
      {
          from: {name: 'graph-2'}
          to: {name: 'destination'}
      }
  ]

Para resolver este error, inserte la definición del gráfico en el ACR tantas veces como sea necesario, utilizando un escenario con un nombre o una etiqueta diferentes cada vez. Por ejemplo, en el escenario descrito, la definición del grafo debe insertarse dos veces con un nombre diferente o una etiqueta diferente, como graph-passthrough-one:1.3.6 y graph-passthrough-two:1.3.6.

Problemas del Broker Listener

En esta sección se enumeran los problemas actuales conocidos de los escuchadores del intermediario.

Azure portal no puede capturar autenticaciones de agente


Identificador de problema: 3072


Firma de registro: mensaje del portal de Azure Fetch broker authentications: Failed to fetch broker authentications


Al configurar un agente de escucha en el portal de Azure y seleccionar un valor en la lista desplegable "Autenticación", el portal intenta capturar la lista de autenticaciones de agente. El portal muestra el mensaje Fetch broker authentications: Failed to fetch broker authenticationsde error .

Para solucionar este problema, actualice a la versión 2603.