Pontos de extremidade do Hub IoT

Observação

Alguns dos recursos mencionados neste artigo, como mensagens de nuvem para dispositivo, dispositivos gêmeos e gerenciamento de dispositivo estão disponíveis somente na camada Standard do Hub IoT. Para obter mais informações sobre as camadas básica e padrão/gratuita do Hub IoT, confira Escolher a camada certa do Hub IoT para sua solução.

Nomes de Hub IoT

É possível localizar o nome do host do Hub IoT que hospeda os pontos de extremidade no portal do Azure, no painel de trabalho Visão geral do hub IoT. Por padrão, o nome DNS de um Hub IoT parece com o seguinte exemplo:

{your iot hub name}.azure-devices.net

Lista de pontos de extremidade internos do Hub IoT

O Hub IoT do Azure é um serviço multilocatário que expõe suas funcionalidades a vários atores. O diagrama a seguir mostra os diversos pontos de extremidade que o Hub IoT expõe.

Diagrama mostrando a lista de pontos de extremidade do Hub IoT integrados.

A lista a seguir descreve os pontos de extremidade:

  • Provedor de recursos. O provedor de recursos de Hub IoT expõe uma interface do Azure Resource Manager. Essa interface permite que proprietários de assinatura do Azure criem e excluam Hubs IoT e atualizem as propriedades de Hub IoT. As propriedades do Hub IoT regem as políticas de acesso compartilhado no nível do hub, ao contrário do controle de acesso no nível do dispositivo e das opções funcionais para mensagens da nuvem para dispositivo e do dispositivo para nuvem. O provedor de recursos do Hub IoT também permite exportar identidades do dispositivo.

  • Gerenciamento de identidades dos dispositivos. Cada Hub IoT expõe um conjunto de pontos de extremidade HTTPS REST para o gerenciamento de identidades do dispositivo (criar, recuperar, atualizar e excluir). As identidades de dispositivo são usadas para controle de acesso e autenticação de dispositivo.

  • Gerenciamento do dispositivo gêmeo. Cada Hub IoT expõe um conjunto de pontos de extremidade REST HTTPS voltado para o serviço para consultar e atualizar dispositivos gêmeos (atualizar marcas e propriedades).

  • Gerenciamento de trabalhos. Cada Hub IoT expõe um conjunto de ponto de extremidade REST HTTPS voltado para o serviço para consultar e gerenciar trabalhos.

  • Pontos de extremidade do dispositivo. Para cada dispositivo no registro de identidade, o Hub IoT expõe um conjunto de pontos de extremidade. Exceto quando observado, esses pontos de extremidade são expostos usando os protocolos MQTT v3.1.1, HTTPS 1.1 e AMQP 1.0. AMQP e MQTT também estão disponíveis em WebSockets na porta 443.

    • Enviar mensagens do dispositivo para a nuvem. Um dispositivo usa esse ponto de extremidade para enviar mensagens do dispositivo para nuvem.

    • Receber mensagens da nuvem para o dispositivo. Um dispositivo usa esse ponto de extremidade para receber mensagens da nuvem para dispositivo direcionadas.

    • Inicie os uploads de arquivos. Um dispositivo usa esse ponto de extremidade para receber um URI de SAS do Armazenamento do Azure do Hub IoT para carregar um arquivo.

    • Recupere e atualize as propriedades do dispositivo gêmeo. Um dispositivo usa esse ponto de extremidade para acessar as propriedades do dispositivo gêmeo. HTTPS não é compatível.

    • Receber solicitações de métodos diretos. Um dispositivo usa esse ponto de extremidade para escutar as solicitações do método direto. HTTPS não é compatível.

    Importante

    A funcionalidade a seguir para dispositivos que usam a autenticação de autoridade de certificação (CA) do certificado X.509 ainda não está disponível e o modo de visualização deve ser habilitado:

    • HTTPS, MQTT por WebSockets e AMQP por protocolos WebSockets.
    • Carregamentos de arquivos (todos os protocolos).

    Geralmente, esses recursos estão em disponibilidade geral em dispositivos que usam a autenticação de impressão digital X.509. Para saber mais sobre a autenticação X.509 com o Hub IoT, confira Certificados X.509 com suporte.

  • Pontos de extremidade do serviço. Cada Hub IoT expõe um conjunto de pontos de extremidade para que o back-end da solução se comunique com seus dispositivos. Com uma exceção, esses pontos de extremidade são expostos usando apenas os protocolos AMQP e AMQP sobre WebSockets. O ponto de extremidade de invocação de método direto é exposto pelo protocolo HTTPS.

    • Receber mensagens do dispositivo para a nuvem. Esse ponto de extremidade é compatível com Hubs de Eventos do Azure. Um serviço de back-end pode usá-lo para ler as mensagens do dispositivo para nuvem enviadas por seus dispositivos. Você pode criar pontos de extremidade personalizados em seu hub IoT, além desse ponto de extremidade interno.

    • Enviar mensagens da nuvem para o dispositivo e receber confirmações de entrega. Esses pontos de extremidade permitem que o back-end da solução envie mensagens da nuvem para dispositivo confiáveis e receba as confirmações de entrega ou de expiração correspondentes.

    • Receba notificações de arquivo. Esse ponto de extremidade de mensagens permite que você receba notificações quando os dispositivos carregarem com êxito um arquivo.

    • Invocação direta de método. Esse ponto de extremidade permite que um serviço de back-end invoque um método direto em um dispositivo.

O artigo SDKs do Hub IoT do Azure descreve as várias maneiras de acessar esses pontos de extremidade.

Todos os pontos de extremidade do Hub IoT usam o protocolo TLS e nenhum ponto de extremidade é exposto em canais sem criptografia/desprotegidos.

Pontos de extremidade personalizados

Você pode vincular os serviços existentes a suas assinaturas do Azure ao seu hub IoT para atuar como pontos de extremidade no roteamento de mensagens. Esses agem como pontos de extremidade de serviço e são usados como "coletores" para rotas de mensagens. Os dispositivos não podem gravar diretamente nesses pontos de extremidade. Para obter mais informações sobre roteamento de mensagens, confira Usar o roteamento de mensagens do Hub IoT para enviar mensagens do dispositivo para a nuvem para diferentes pontos de extremidade.

Atualmente, o Hub IoT dá suporte aos seguintes serviços do Azure como pontos de extremidade personalizados:

  • Contêineres de armazenamento
  • Hubs de Eventos
  • Filas de barramento de serviço
  • Tópicos do Service Bus
  • Cosmos DB (versão prévia)

Para saber quais são os limites para o número de pontos de extremidade que você pode adicionar, confira Cotas e limitação.

Integridade do ponto de extremidade

Você pode usar a API REST Obter integridade do ponto de extremidade para obter o status da integridade dos pontos de extremidade. É recomendável usar as métricas de roteamento do Hub IoT, relacionadas à latência da mensagem de roteamento, para a identificação e depuração de erros quando a integridade do ponto de extremidade estiver inativa ou não íntegra, porque esperamos que a latência seja maior quando o ponto de extremidade estiver em um desses estados. Para saber mais sobre o uso das métricas do Hub IoT, confira Monitorar o Hub IoT.

Status de integridade Descrição
Healthy O ponto de extremidade está aceitando mensagens como esperado.
não íntegro O ponto de extremidade não está aceitando mensagens e o Hub IoT está tentando novamente enviar mensagens para esse ponto de extremidade.
unknown O Hub IoT não tentou entregar mensagens para esse ponto de extremidade.
degradado O ponto de extremidade está aceitando mensagens mais lentamente do que o esperado ou está se recuperando de um estado não íntegro.
inativo O Hub IoT não está mais entregando mensagens para esse ponto de extremidade. Falha ao tentar reenviar mensagens para esse ponto de extremidade.

Gateways de campo

Em uma solução IoT, um gateway de campo fica entre os dispositivos e os pontos de extremidade do hub IoT. Normalmente, ele se localiza perto dos dispositivos. Os dispositivos se comunicam diretamente com o gateway de campo usando um protocolo com suporte dos dispositivos. O gateway de campo conecta-se com um ponto de extremidade Hub IoT usando um protocolo que tem suporte do Hub IoT. Um gateway de campo pode ser um dispositivo de hardware dedicado ou em um computador de baixa capacidade que executam o software do gateway personalizado.

Você pode usar o Azure IoT Edge para implementar um gateway de campo. O IoT Edge oferece funcionalidades como a multiplexação de comunicações de vários dispositivos na mesma conexão do Hub IoT.

Próximas etapas

Outros tópicos de referência neste Guia do desenvolvedor do Hub IoT incluem: