Problemas conhecidos para Operações IoT do Azure

Este artigo lista os problemas atualmente conhecidos que pode encontrar ao utilizar o Operações IoT do Azure. As orientações ajudam-no a identificar estes problemas e fornecem soluções alternativas, quando disponíveis.

Para orientações gerais de resolução de problemas, veja Troubleshoot Operações IoT do Azure.

Problemas com o Azure Device Registry

Esta secção lista os problemas atualmente conhecidos do Azure Device Registry.

Os recursos de condições de saúde dos ativos do namespace ADR não sincronizam da extremidade para a nuvem.


ID da emissão: 1235


Assinatura de log: N/A


Os recursos de estado de saúde do ativo do namespace do Azure Device Registry não resincronizam para a nuvem se foram criados com uma versão da API anterior a 2026-04-01. Esta falha ocorre porque falta uma anotação de recurso Kubernetes necessária.

Solução alternativa: Usa o proxy arc para te ligares ao teu cluster Kubernetes e depois executa o script remediation para o shell que estás a usar (PowerShell ou bash). Os scripts listam todos os recursos de namespace desatualizados e pedem confirmação antes de adicionarem as anotações em falta.

Problemas do broker MQTT

Esta seção lista os problemas conhecidos atuais para o broker MQTT.

Os recursos do MQTT broker não são visíveis no portal do Azure


ID do problema: 4257


Assinatura de log: N/A


Os recursos do MQTT broker criados no teu cluster usando Kubernetes não são visíveis no portal Azure. Este resultado é esperado porque gerir componentes do Operações IoT do Azure usando Kubernetes é apenas para depuração e testes, e a sincronização de recursos da Edge para a cloud atualmente não é suportada.

Atualmente, não existe solução para este problema.

Problemas gerais do conector

Esta seção lista os problemas conhecidos atuais que afetam todos os conectores.

O Connector não deteta atualizações das credenciais dos dispositivos no Azure Key Vault


ID do problema: 6514


N/A


Corrigido na versão 2605 e posteriores


O conector não recebe notificação quando as credenciais do dispositivo armazenadas no Azure Key Vault são atualizadas. Como resultado, o conector continua a usar as credenciais antigas até ser reiniciado.

Solução alternativa: Reinicie o conector para o forçar a recuperar as credenciais atualizadas do Azure Key Vault.

Para conectores Akri, o único tipo de autenticação suportado para endpoints de registo é artifact pull secrets


ID de problema: 4570


Assinatura de log: N/A


Quando especifica a referência do endpoint do registro num modelo de conector, existem múltiplos métodos de autenticação suportados. Os conectores Akri suportam apenas artifact pull secrets autenticação.

Os conectores Akri não funcionam com os recursos do endpoint de registro.


ID da questão: 7710


Corrigido na versão 1.2.154 (2512) e posteriores


Assinatura de log:

[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...

Se criares um recurso RegistryEndpoint usando bicep e o referenciares no recurso ConnectorTemplate, então, quando o operador Akri tentar realizar a reconciliação, o ConnectorTemplate falhará com o erro mostrado anteriormente.

Solução alternativa: Não utilize RegistryEndpoint recursos com conectores Akri. Em vez disso, especifique a informação do registo nas ContainerRegistry definições do ConnectorTemplate recurso.

Erro Akri ao atualizar ou eliminar uma instância do Operações IoT do Azure


ID da questão: 9347


Corrigido na versão 1.2.154 (2512) e posteriores


Os utilizadores podem encontrar um erro relativamente a certificados de webhook expirados com o Akri ao eliminar ou atualizar instâncias do Operações IoT do Azure ou ao realizar operações CRUD em instâncias de recursos Akri, como Connector e ConnectorTemplates.

Solução alternativa: Execute kubectl delete pod -n azure-iot-operations aio-akri-webhook-0 --ignore-not-found para eliminar e reiniciar os pods do webhook, para que o pod obtenha o novo certificado.

Os pontos de extremidade de entrada do dispositivo não impõem autenticação quando nenhuma é especificada


ID da questão: 7337


Assinatura de log: N/A


O esquema de recursos do Azure Device Registry lista a autenticação baseada em certificados (X.509) como o método de autenticação padrão para um endpoint de entrada. No entanto, a propriedade de autenticação em si é anulável, por isso é possível criar um endpoint de entrada de dispositivo sem especificar qualquer método de autenticação.

Quando a autenticação é omitida, a predefinição implícita de certificados X.509 não é aplicada durante a execução. O endpoint de entrada do dispositivo é criado sem qualquer autenticação imposta.

Recommendations:

  • Comunique sempre com os endpoints de entrada do dispositivo através de um protocolo autenticado.
  • Configure explicitamente a autenticação baseada em certificados, ou outro método de autenticação suportado, na propriedade de autenticação de cada endpoint de entrada. Não confie no padrão do esquema — não é aplicado implicitamente.

Conector para problemas do OPC UA

Esta seção lista os problemas conhecidos atuais do conector para OPC UA.

Não é possível usar caracteres especiais em nomes de eventos


ID do problema: 1532


Corrigido na versão 1.3.36 (2603) e posteriores


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


A geração de esquema falhará se os nomes de eventos contiverem caracteres especiais, como #, %ou &. Evite usar esses caracteres em nomes de eventos para evitar problemas de geração de esquema.

Falta-se o modelo do conector OPC


ID da emissão: 1330


Assinatura de log: N/A


A implementação da instância de Operações IoT do Azure deve instalar um OPC ConnectorTemplate por predefinição. Após a implementação, o modelo do conector falta no portal do Azure e o ConnectorTemplate recurso não está presente no cluster.

Conector para mídia e conector para questões ONVIF

Esta seção lista os problemas conhecidos atuais para o conector para mídia e o conector para ONVIF.

Conflito de sincronização secreto


ID do problema: 0606


Assinatura de log: N/A


Ao usar a sincronização secreta, certifique-se de que os nomes secretos sejam globalmente exclusivos. Se existir um segredo local com o mesmo nome, os conectores podem não conseguir recuperar o segredo pretendido.

O destino do evento do ativo ONVIF só pode ser configurado ao nível do grupo ou ativo


ID da questão: 9545


Corrigido na versão 1.2.154 (2512) e posteriores


Assinatura de registo semelhante a:

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


Atualmente, os destinos de eventos de ativos ONVIF são reconhecidos apenas ao nível do grupo de eventos ou ativo. Configurar os destinos ao nível do evento individual resulta em entradas de registo semelhantes ao exemplo, e nenhum dado de evento é publicado ao broker MQTT.

Solução alternativa: Configure o destino do evento ao nível do grupo de eventos ou ativo em vez do nível individual do evento. Por exemplo, use defaultEventsDestinations ao nível do 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

Conector para problemas com MQTT

Incompatibilidade da versão do modelo do conector MQTT durante a atualização


ID da emissão: 1533


Assinatura de log: N/A


Corrigido na versão 2606 e posteriores


Ao atualizar para a versão 2605, os modelos existentes dos conectores MQTT podem mostrar versões de metadados desalinhadas no portal. Para resolver, elimine e recrie o modelo de conector. Alternativamente, use a CLI do Azure para atualizar o conector.

O conector MQTT não consegue ligar-se a brokers MQTT externos que tenham endereços IP privados


ID da emissão: 7791


Assinatura de log: N/A


Corrigido na versão 2607 e posteriores


A partir da versão 2605, o conector MQTT não consegue ligar-se a corretores MQTT externos que usam endereços IP privados.

Problemas de fluxos de dados

Esta seção lista os problemas conhecidos atuais para fluxos de dados.

A interface Web do Operations Experience apresenta apenas artefactos de gráfico de fluxo de dados obtidos do Azure Container Registry (ACR) e de mcr.microsoft.com


ID da emissão: 8895


Assinatura de log: N/A


Mesmo que configures um endpoint de registo de contentores para um registo de contentores que não seja ACR, como o GHCR:

  • Os artefactos de gráfico de fluxo de dados do registo não ACR não aparecem na interface Web da experiência de operações, pelo que não é possível criar um gráfico de fluxo de dados que os utilize.

  • Selecionar um grafo de fluxo de dados da lista de fluxos de dados na interface web de experiência de operações que contenha elementos de um registo não-ACR produz um erro semelhante a: Can't load data flow graph. The contents of this data flow graph are unavailable. Please ensure that it still exists, then work with your administrator to get 'AcrPull' access to required registry endpoints.

Solução alternativa: Tens duas opções:

  • Se não precisares de usar a interface de experiência operacional, usa a CLI do Azure para realizar operações CRUD em grafos de fluxo de dados definidos em ficheiros JSON ou Bicep que contenham artefactos provenientes de registos não ACR.

  • Se pretender utilizar a interface Web de operações, importe artefactos e grafos de fluxo de dados de registos que não sejam ACR para um registo ACR. Para saber mais, consulte Publicar módulos no seu registo.

Os recursos de fluxo de dados criados com Kubernetes não são visíveis na interface web da experiência operacional


ID do problema: 8724


Assinatura de log: N/A


Os recursos personalizados de fluxo de dados criados no seu cluster usando o Kubernetes não são visíveis na interface web da experiência operacional. Este resultado é esperado porque gerir componentes do Operações IoT do Azure usando Kubernetes é apenas para depuração e testes, e a sincronização de recursos da Edge para a cloud atualmente não é suportada.

Atualmente, não existe solução para este problema.

Um perfil de fluxo de dados não pode exceder 70 fluxos de dados


ID do problema: 1028


Assinatura de log:

exec /bin/main: argument list too long


Se você criar mais de 70 fluxos de dados para um único perfil de fluxo de dados, as implantações falharão com o erro exec /bin/main: argument list too long.

Para contornar esse problema, crie vários perfis de fluxo de dados e distribua os fluxos de dados entre eles. Não exceda 70 fluxos de dados por perfil.

Não é possível usar a mesma definição de gráfico várias vezes em um cenário de gráfico encadeado


ID da emissão: 1352


Corrigido na versão 1.3.36 (2603) e posteriores


Falha ao enviar config


Você cria um cenário de gráfico encadeado usando a saída de um gráfico de fluxo de dados como entrada para outro gráfico de fluxo de dados. No entanto, se você tentar usar a mesma definição de gráfico várias vezes nesse cenário, ele atualmente não funciona como esperado. Por exemplo, o código a seguir falha ao usar a mesma definição de grafo (graph-passthrough:1.3.6) tanto para graph-1 quanto para 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 esse erro, envie a definição do gráfico para o ACR quantas vezes forem necessárias com o cenário com um nome ou tag diferente a cada vez. Por exemplo, no cenário descrito, a definição do gráfico precisa ser empurrada duas vezes com um nome diferente ou uma tag diferente, como graph-passthrough-one:1.3.6 e graph-passthrough-two:1.3.6.

Questões de identidade federada

Esta secção lista questões conhecidas atuais para identidade federada.

A incompatibilidade entre emissores de credenciais de identidade federadas pode causar falhas na autenticação de sincronização secreta


ID da emissão: 1190


Corrigido na versão 2607 e posteriores


Assinatura de log: Semelhante a AADSTS700211: No matching federated identity record found for presented assertion issuer 'https://northamerica.oic.prod-arc.azure.com/1f5f7baf-633d-4eb5-9be1-8cf1e9c6fcc9/f512e8f6-0c47-48a1-91f3-aeb5422dd766'. Please check your federated identity credential Subject, Audience and Issuer against the presented assertion.


O Operações IoT do Azure depara-se com erros 401 Unauthorized ao obter segredos do Azure Key Vault.

Causa raiz: O erro ocorre porque a URL do emissor da credencial de identidade federada não corresponde à reivindicação do emissor (iss) no token da conta do serviço Kubernetes.

Quando o comando az iot ops secretsync enable cria uma credencial de identidade federada (FIC) na identidade gerida atribuída a utilizador que o Operações IoT do Azure utiliza para aceder ao Azure Key Vault, define o URL do emissor da FIC para o URL do emissor OIDC do cluster. Em algumas implementações, este URL inclui uma barra final ('/') que o campo iss (emissor) do token da conta de serviço emitido pelo cluster omite.

Como o problema afeta a troca de tokens durante a recuperação de segredos, a falha normalmente não ocorre quando executa az iot ops secretsync enable. Em vez disso, surge mais tarde, quando o Operações IoT do Azure tenta aceder a um segredo, o que pode dificultar a identificação da causa raiz.

Solução alternativa: Verifique se o URL do emissor configurado na credencial de identidade federada não termina com uma barra. Se acontecer, atualize a credencial de identidade federada para remover a barra final.

Pode utilizar os comandos da CLI do Azure az identity federated-credential para ver e, se necessário, atualizar o valor do emissor da credencial de identidade federada, por exemplo:

az identity federated-credential show --name <fic-name> --identity-name <managed-identity-name> --resource-group <resource-group-name>

az identity federated-credential update --name <fic-name> --identity-name <managed-identity-name> --resource-group <resource-group> --issuer <new-issuer-url-without-trailing-slash>

Como boa prática, realize esta validação durante a configuração após executar o az iot ops secretsync enable comando para ajudar a evitar falhas de autenticação potencialmente difíceis de diagnosticar mais tarde.