Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
Aplica-se a:
IoT Edge 1.5
Importante
IoT Edge 1.5 LTS é a versão suportada. O IoT Edge 1.4 LTS atingiu o fim de vida útil a 12 de novembro de 2024. Se estiveres a usar uma versão anterior, vê Update IoT Edge.
O runtime do IoT Edge é um conjunto de programas que transformam um dispositivo num dispositivo IoT Edge. Os componentes de runtime permitem que os dispositivos IoT Edge recebam código para correr na edge e depois comunicem os resultados.
O runtime do IoT Edge é responsável pelas seguintes funções nos dispositivos IoT Edge:
- Instale e atualize cargas de trabalho.
- Manter os padrões de segurança do Azure IoT Edge.
- Garante que os módulos IoT Edge continuam a funcionar.
- Reporte a integridade do módulo para a nuvem para monitoramento remoto.
- Gerir a comunicação entre:
- Dispositivos a jusante e dispositivos IoT Edge
- Módulos num dispositivo IoT Edge
- Um dispositivo IoT Edge e a nuvem
- Dispositivos IoT Edge
As responsabilidades do runtime IoT Edge dividem-se em duas categorias: comunicação e gestão de módulos. Dois componentes do runtime do IoT Edge desempenham estas funções. O agente IoT Edge implementa e monitoriza os módulos, e o IoT Edge hub gere a comunicação.
Tanto o agente IoT Edge como o hub IoT Edge são módulos, tal como qualquer outro módulo a correr num dispositivo IoT Edge. Eles às vezes são chamados de módulos de tempo de execução.
Agente IoT Edge
O agente IoT Edge é um dos dois módulos no runtime do Azure IoT Edge. Cria instâncias dos módulos, garante que continuam a funcionar e reporta o seu estado ao IoT Hub. Você escreve estes dados de configuração como uma propriedade do módulo twin (gémeo) do agente IoT Edge.
O daemon de segurança IoT Edge inicia o agente de IoT Edge no arranque do dispositivo. O agente recupera o seu módulo gémeo do IoT Hub e inspeciona o manifesto de implementação. O manifesto de implantação é um arquivo JSON que declara os módulos que precisam ser iniciados.
Cada item no manifesto de implementação contém informações específicas sobre um módulo e é utilizado pelo agente IoT Edge para controlar o ciclo de vida do módulo. Para mais informações sobre todas as propriedades usadas pelo agente IoT Edge para controlar módulos, veja Propriedades dos gémeos de módulo do agente IoT Edge e do IoT Edge hub.
O agente IoT Edge envia resposta em tempo de execução para o IoT Hub. Aqui está uma lista de respostas possíveis:
- 200 - Aceito
- 400 - A configuração de implantação está malformada ou é inválida.
- 417 - O dispositivo não tem um conjunto de configurações de implantação.
- 412 - A versão do esquema na configuração de implantação é inválida.
- 406 - O dispositivo IoT Edge está offline ou não está a enviar relatórios de estado.
- 500 - Ocorreu um erro no runtime do IoT Edge.
Para mais informações sobre a criação de manifestos de implementação, veja Aprenda como implementar módulos e estabelecer rotas em IoT Edge.
Segurança
O agente IoT Edge desempenha um papel fundamental na segurança de um dispositivo IoT Edge. Por exemplo, ele executa ações como verificar a imagem de um módulo antes de iniciá-lo.
Para mais informações sobre o quadro de segurança Azure IoT Edge, consulte IoT Edge gestor de segurança.
IoT Edge hub
O hub IoT Edge é o outro módulo que compõe o runtime do Azure IoT Edge. Atua como um proxy local para o IoT Hub, expondo os mesmos endpoints do protocolo que o IoT Hub. Esta consistência significa que os clientes podem ligar-se ao runtime do IoT Edge tal como ligariam ao IoT Hub.
O IoT Edge hub não é uma versão local completa do IoT Hub. Delega algumas tarefas ao IoT Hub. Por exemplo, para permitir a ligação de um dispositivo, o IoT Edge hub descarrega automaticamente as informações de autorização do IoT Hub na sua primeira ligação. Depois de estabelecida a primeira ligação, o hub IoT Edge armazena em cache a informação de autorização localmente. As ligações futuras a partir desse dispositivo são autorizadas sem necessidade de descarregar novamente a informação de autorização da cloud.
Comunicação na nuvem
Para reduzir a largura de banda que a sua solução IoT Edge utiliza, o hub IoT Edge otimiza quantas ligações reais são feitas à cloud. O hub IoT Edge pega em ligações lógicas de módulos ou dispositivos a jusante e combina-as numa única ligação física à cloud. Os detalhes deste processo são transparentes para o resto da solução. Os clientes pensam que têm a sua própria ligação à cloud, mesmo sendo todos enviados pela mesma ligação. O hub IoT Edge pode usar o protocolo AMQP ou MQTT para comunicar com a nuvem, independentemente dos protocolos usados pelos dispositivos a jusante.
Importante
O hub IoT Edge só suporta multiplexação de ligação (combinando múltiplas ligações lógicas numa única ligação física) quando se utiliza AMQP como protocolo a montante. Se configurar o MQTT como protocolo a montante, cada módulo e dispositivo a jusante usa a sua própria ligação ao IoT Hub. AMQP é o protocolo upstream padrão.
Para mais informações sobre a configuração do protocolo upstream, veja Escolher protocolo upstream.
O IoT Edge hub pode determinar se está ligado ao IoT Hub. Se a ligação for perdida, o hub IoT Edge guarda mensagens ou atualizações duplas localmente. Depois que uma conexão é restabelecida, ela sincroniza todos os dados. Uma propriedade do módulo gémeo do hub IoT Edge determina a localização usada para este cache temporário. O tamanho do cache não é limitado e cresce desde que o dispositivo tenha capacidade de armazenamento. Para obter mais informações, consulte Recursos offline.
Comunicação local
O hub IoT Edge facilita a comunicação local. Permite comunicações dispositivo-a-módulo e módulo-a-módulo através da intermediação de mensagens para manter dispositivos e módulos independentes uns dos outros. O hub IoT Edge suporta as funcionalidades de encaminhamento de mensagens suportadas pelo IoT Hub.
Usando o roteamento
O mecanismo de intermediação utiliza as mesmas funcionalidades de encaminhamento do IoT Hub para especificar como transmite mensagens entre dispositivos ou módulos. Primeiro, dispositivos ou módulos especificam as entradas onde aceitam mensagens e as saídas para as quais escrevem mensagens. Em seguida, um desenvolvedor de soluções pode rotear mensagens entre uma origem (por exemplo, saídas) e um destino (por exemplo, entradas), com filtros potenciais.
Dispositivos ou módulos que utilizam os SDKs de Azure IoT para Dispositivos com o protocolo AMQP podem usar o encaminhamento. Todas as primitivas do IoT Hub de mensagens, como telemetria, métodos diretos, C2D e gémeos, são suportadas, mas a comunicação sobre tópicos definidos pelo utilizador não é suportada.
Para mais informações sobre rotas, consulte Aprenda como implementar módulos e estabelecer rotas em IoT Edge.
Estão disponíveis as seguintes funcionalidades do mecanismo de intermediação:
| Caraterísticas | Roteamento |
|---|---|
| Telemetria D2C | ✔ |
| Telemetria local | ✔ |
| Métodos Directos | ✔ |
| Gémeo | ✔ |
| C2D para dispositivos | ✔ |
| Pedido | ✔ |
| Filtragem | ✔ |
| Tópicos definidos pelo usuário | |
| Dispositivo-a-dispositivo | |
| Radiodifusão local |
Ligação ao hub IoT Edge
O hub IoT Edge aceita ligações de clientes de dispositivos ou módulos, seja através do protocolo MQTT ou do protocolo AMQP.
Observação
O hub IoT Edge suporta clientes que se conectam usando MQTT ou AMQP. Ele não suporta clientes que usam HTTP.
Quando um cliente se liga ao hub IoT Edge, ocorrem os seguintes passos:
- Se for utilizado o Transport Layer Security (TLS) (recomendado), o cliente e o hub IoT Edge constroem um canal TLS para estabelecer uma comunicação encriptada.
- O cliente envia informações de autenticação para o hub IoT Edge para se identificar.
- O hub IoT Edge autoriza ou rejeita a ligação com base na sua política de autorização.
Conexões seguras (TLS)
Por defeito, o hub IoT Edge só aceita ligações seguras com Transport Layer Security (TLS). Por exemplo, aceita ligações encriptadas que um terceiro não consegue desencriptar.
Quando um cliente se liga ao hub IoT Edge na porta 8883 (MQTTS) ou 5671 (AMQPS), estabelece um canal TLS. Durante o handshake TLS, o hub IoT Edge envia a sua cadeia de certificados que o cliente precisa de validar. Para validar a cadeia de certificados, deve instalar o certificado raiz do hub IoT Edge como um certificado de confiança no cliente. Se o certificado raiz não for confiável, o hub IoT Edge rejeita a biblioteca cliente com um erro de verificação de certificado.
O gateway transparente e a documentação para preparar um dispositivo a jusante descrevem os passos para instalar este certificado raiz do intermediário nos dispositivos cliente. Os módulos podem usar o mesmo certificado raiz que o hub IoT Edge utilizando a API daemon do IoT Edge.
Autenticação
O IoT Edge Hub só aceita ligações de dispositivos ou módulos que tenham identidade IoT Hub. Por exemplo, estes dispositivos e módulos estão registados em IoT Hub e utilizam um dos três métodos de autenticação do cliente que IoT Hub suporta para provar a sua identidade: autenticação
Atualmente, os módulos IoT Edge suportam apenas autenticação simétrica de chaves.
Autorização
O IoT Edge hub verifica se um cliente pertence ao seu conjunto de clientes de confiança definidos no IoT Hub. Especifica o conjunto de clientes de confiança ao configurar relações pai/filho ou dispositivo/módulo no IoT Hub. Quando cria um módulo no IoT Edge, estabelece automaticamente uma relação de confiança entre este módulo e o seu dispositivo IoT Edge. Este é o único modelo de autorização suportado pelo mecanismo de corretagem de roteamento.
Configuração remota
A cloud controla inteiramente o hub IoT Edge. Obtém a sua configuração de IoT Hub através do seu módulo twin. O gémeo contém uma propriedade desejada chamada routes que declara como as mensagens são passadas dentro de uma implementação. Para mais informações sobre rotas, consulte declarar rotas.
Além disso, podes configurar várias definições ao configurar variáveis de ambiente no hub IoT Edge.
Telemetria de qualidade durante o tempo de execução
O IoT Edge recolhe telemetria anónima do runtime do host e dos módulos do sistema para melhorar a qualidade do produto. Esta informação chama-se telemetria de qualidade em tempo de execução. O agente IoT Edge envia periodicamente a telemetria recolhida como mensagens dispositivo-para-nuvem para o IoT Hub. Estas mensagens não aparecem na sua telemetria habitual e não consomem qualquer quota de mensagens.
O agente IoT Edge e o hub geram métricas que pode recolher para compreender o desempenho do dispositivo. Um subconjunto destas métricas é recolhido pelo IoT Edge Agent como parte da telemetria de qualidade em tempo de execução. As métricas coletadas para telemetria de qualidade de tempo de execução são rotuladas com a tag ms_telemetry. Para obter informações sobre todas as métricas disponíveis, consulte Métricas internas de acesso.
Qualquer informação pessoal ou organizacionalmente identificável, como nomes de dispositivos e módulos, é removida antes do upload para garantir a natureza anônima da telemetria de qualidade de tempo de execução.
O agente IoT Edge recolhe, a cada hora, a telemetria de qualidade de tempo de execução e envia uma mensagem para o IoT Hub a cada 24 horas.
Se quiser optar por não enviar telemetria de qualidade em tempo de execução a partir dos seus dispositivos, utilize um dos seguintes métodos:
- Defina a variável de ambiente
SendRuntimeQualityTelemetryparafalsepara edgeAgent. - Desmarque a opção no portal do Azure durante a implementação.