Ler mensagens de dispositivo para a nuvem do ponto de extremidade interno

Por padrão, as mensagens são roteadas para o ponto de extremidade voltado para o serviço interno (mensagens/eventos) compatíveis com Hubs de Eventos. Esse ponto de extremidade atualmente só é exposto usando o protocolo AMQP na porta 5671 e o AMQP sobre WebSockets na porta 443. Um Hub IoT expõe as propriedades a seguir para permitir que você controle as mensagens/eventos do ponto de extremidade do sistema de mensagens interno compatível com o Hub de Eventos.

Propriedade Descrição
Contagem de partição Defina essa propriedade no momento da criação para determinar o número de partições para inclusão do evento de dispositivo para nuvem.
Período de retenção Esta propriedade especifica por quanto tempo, em dias, as mensagens são retidas pelo Hub IoT. O padrão é de um dia, mas pode ser aumentado para sete dias.

O Hub IoT permite retenção de dados nos Hubs de Eventos internos por, no máximo, 7 dias. Você pode definir o tempo de retenção durante a criação do Hub IoT. O tempo de retenção de dados no Hub IoT depende da camada e do tipo de unidade do Hub IoT. Em termos de tamanho, os Hub de Eventos internos podem reter as mensagens do tamanho máximo da mensagem até pelo menos 24 horas de cota. Por exemplo, para uma unidade S1, o Hub IoT fornece armazenamento suficiente para reter pelo menos 400 mil mensagens de 4k cada. Se seus dispositivos enviarem mensagens menores, elas poderão ser retidas por mais tempo (até 7 dias), dependendo do consumo de armazenamento. Garantimos a retenção dos dados pelo tempo de retenção especificado como mínimo. As mensagens expirarão e não poderão ser acessadas depois que o tempo de retenção tiver passado.

O Hub IoT também permite que você gerencie grupos de consumidores no ponto de extremidade de recebimento do dispositivo para a nuvem interno. Você pode ter até 20 grupos de consumidores para cada Hub IoT.

Se você estiver usando roteamento de mensagens e a rota de fallback estiver habilitada, todas as mensagens que não corresponderem a uma consulta em qualquer rota irão para o ponto de extremidade interno. Se você desabilitar esta rota de fallback, as mensagens que não corresponderem a nenhuma consulta serão descartadas.

Você pode modificar o tempo de retenção, seja de maneira programática usando as APIs REST do provedor de recursos do Hub IoT ou com o portal do Azure.

O Hub IoT expõe um ponto de extremidade interno de mensagens/eventos para os serviços de back-end lerem as mensagens de dispositivo para nuvem recebidas por seu hub. Este ponto de extremidade é compatível com o Hub de Eventos, o que permite que você use qualquer um dos mecanismos para os quais o serviço Hubs de Eventos dá suporte para ler as mensagens.

Leitura do ponto de extremidade interno

Algumas integrações do produto e SDKs dos Hubs de Eventos reconhecem o Hub IoT e permitem que você use a cadeia de conexão do serviço do Hub IoT para se conectar ao ponto de extremidade interno.

Ao usar os SDKs dos Hubs de Eventos ou as integrações do produto que não reconhecem o Hub IoT, você precisará recuperar um ponto de extremidade compatível com o hub de eventos e o nome compatível com o Hub de Eventos. Você pode recuperar esses valores do portal da seguinte maneira:

  1. Entre no Portal do Azure e navegue até o Hub IoT.

  2. Clique em Pontos de extremidade internos.

  3. A seção Eventos contém os valores a seguir: Partições, Nome compatível com o hub de eventos, ponto de extremidade compatível com hub de eventos, Tempo de retenção e Grupos de consumidores.

    Configurações de dispositivo para a nuvem

No portal, o campo do ponto de extremidade compatível com hub de eventos contém uma cadeia de conexão completa dos Hubs de Eventos parecida com esta: Endpoint=sb://abcd1234namespace.servicebus.windows.net/;SharedAccessKeyName=iothubowner;SharedAccessKey=keykeykeykeykeykey=;EntityPath=iothub-ehub-abcd-1234-123456. Se o SDK que você está usando exigir outros valores, eles devem ser:

Nome Valor
Ponto de extremidade sb://abcd1234namespace.servicebus.windows.net/
Nome do host abcd1234namespace.servicebus.windows.net
Namespace abcd1234namespace

Em seguida, você pode escolher qualquer política de acesso compartilhado na lista suspensa, conforme mostrado na captura de tela acima. Ela mostra apenas as políticas que têm as permissões do ServiceConnect para se conectar ao Hub de Eventos especificado.

Os SDKs, que você pode usar para se conectar ao ponto de extremidade compatível com hub de eventos interno que o Hub IoT expõe, incluem:

Linguagem . Exemplo
.NET https://www.nuget.org/packages/Azure.Messaging.EventHubs Início rápido
Java https://mvnrepository.com/artifact/com.azure/azure-messaging-eventhubs Início rápido
Node.js https://www.npmjs.com/package/@azure/event-hubs Início rápido
Python https://pypi.org/project/azure-eventhub/ Início rápido

As integrações do produto, que você pode usar com o ponto de extremidade compatível com hub de eventos interno que o Hub IoT expõe, incluem:

Usar AMQP-WS ou um proxy com SDKs de Hubs de Eventos

Você pode usar os SDKs dos Hubs de Eventos para ler do ponto de extremidade interno em ambientes em que o AMQP via WebSockets ou a leitura por meio de um proxy é necessária. Para saber mais, veja a seção os exemplos a seguir.

Idioma Amostra
.NET ReadD2cMessages .NET
Java read-d2c-messages Java
Node.js read-d2c-messages Node.js
Python read-dec-messages Python

Próximas etapas

  • Para saber mais sobre pontos de extremidade do Hub IoT, consulte Pontos de extremidade do Hub IoT.

  • Os Inícios Rápidos mostram como enviar mensagens de dispositivo para nuvem de dispositivos simulados e ler as mensagens do ponto de extremidade interno.

Para saber mais, confira o tutorial Processar as mensagens de dispositivo para nuvem do Hub IoT usando rotas.