Partilhar via


Ler mensagens de dispositivo para nuvem do ponto final incorporado

Por padrão, as mensagens são roteadas para o ponto de extremidade interno voltado para o serviço (mensagens/eventos) que é compatível com Event Hubs. O Hub IoT expõe o ponto de extremidade interno de mensagens/eventos para que os seus serviços de back-end leiam as mensagens de dispositivo para nuvem recebidas pelo hub. Este ponto de extremidade é compatível com o Hubs de Eventos, o que permite que o utilizador utilize qualquer um dos mecanismos suportados pelo serviço Hubs de Eventos para ler mensagens.

Caso esteja a usar o roteamento de mensagens e a rota de fallback esteja habilitada, uma mensagem que não corresponda a uma consulta em nenhuma rota será redirecionada para o ponto de extremidade interno. Se você desabilitar essa rota de fallback, uma mensagem que não corresponde a nenhuma consulta será descartada.

Atualmente, este endpoint só é exposto usando o protocolo AMQP na porta 5671 e AMQP sobre WebSockets na porta 443. Um hub IoT expõe as seguintes propriedades para permitir o controlo do ponto de extremidade de mensagens compatível com Hubs de Eventos internos mensagens/eventos.

Propriedade Descrição
Contagem de partições Defina esta propriedade na criação para especificar o número de partições para a ingestão de eventos de dispositivo para nuvem.
Tempo de retenção Esta propriedade especifica por quanto tempo, em dias, o Hub IoT retém mensagens. O padrão é um dia, mas pode ser aumentado para sete dias.

O Hub IoT permite a retenção de dados no endpoint integrado por um período máximo de sete dias. Você pode definir o tempo de retenção durante a criação do seu hub IoT. O tempo de retenção de dados no Hub IoT depende da camada do hub IoT e do tipo de unidade. Em termos de tamanho, o ponto de extremidade incorporado pode reter mensagens do tamanho máximo permitido para um período de, pelo menos, 24 horas de quota. Por exemplo, um hub IoT de unidade S1 fornece armazenamento suficiente para reter pelo menos 400.000 mensagens, a 4 KB por mensagem. Se os seus dispositivos estiverem a enviar mensagens mais pequenas, poderão ser retidas por mais tempo (até sete dias), dependendo da quantidade de armazenamento consumida. Garantimos a retenção dos dados pelo tempo de retenção especificado como mínimo. Após o tempo de retenção, as mensagens expiram e ficam inacessíveis. Você pode modificar o tempo de retenção, programaticamente usando as APIs REST do provedor de recursos do Hub IoT ou com o portal do Azure.

O Hub IoT também permite gerenciar grupos de consumidores no ponto de extremidade interno. Você pode ter até 20 grupos de consumidores para cada hub IoT.

Conectar-se ao ponto de extremidade integrado

Algumas integrações de produtos e SDKs de Hubs de Evento são compatíveis com o IoT Hub e permitem usar a cadeia de conexão do serviço de hub IoT para se conectar ao ponto de extremidade interno.

Ao usar SDKs de Hubs de Eventos ou integrações de produtos que desconhecem o Hub IoT, precisa-se de pontos de extremidade compatíveis com o Hubs de Eventos e de um nome compatível com o Hubs de Eventos. Você pode recuperar esses valores do portal da seguinte maneira:

  1. Entre no portal do Azure e navegue até seu hub IoT.

  2. Selecione Pontos de extremidade internos no menu de recursos, em Configurações do Hub.

  3. O painel de trabalho Pontos de extremidade integrados contém três seções.

    • A seção Detalhes do Hub de Eventos contém os seguintes valores: Partições, Nome compatível com o Hub de Eventos, Reter para e Grupos de Consumidores.
    • A seção de ponto de extremidade compatível com o Hub de Eventos contém os seguintes valores: Política de acesso compartilhado e Ponto de extremidade compatível com o Hub de Eventos.
    • A seção Mensagens da nuvem para o dispositivo contém os seguintes valores: TTL padrão, Tempo de retenção de feedback e Contagem máxima de entrega.

    Captura de tela mostrando as configurações do dispositivo para a nuvem.

No painel de trabalho, o campo de ponto de extremidade compatível com o Hub de Eventos contém uma string de conexão completa do Hub de Eventos que se parece com o exemplo a seguir:

Ponto de extremidade=sb://abcd1234namespace.servicebus.windows.net/; SharedAccessKeyName=iothubowner; SharedAccessKey=keykeykeykeykey=; EntityPath=iothub-ehub-abcd-1234-123456

Se o SDK que você está usando exigir outros valores, eles serão:

Nome Valor
Ponto final sb://abcd1234namespace.servicebus.windows.net/
Hostname (Nome do anfitrião) abcd1234namespace.servicebus.windows.net
Espaço de Nomes abcd1234namespace

Em seguida, poderá escolher qualquer política de acesso compartilhado na lista suspensa de política de acesso compartilhado, conforme mostrado na captura de tela anterior. Ele mostra apenas as políticas que têm as permissões ServiceConnect para se conectar ao hub de eventos especificado.

Exemplos de SDK

Os SDKs que pode usar para se conectar ao ponto de extremidade interno compatível com Event Hubs que o Hub IoT expõe incluem:

Idioma SDK Exemplo
.NET https://www.nuget.org/packages/Azure.Messaging.EventHubs ReadD2cMessages .NET
Java https://mvnrepository.com/artifact/com.azure/azure-messaging-eventhubs leitura de mensagens d2c Java
Node.js https://www.npmjs.com/package/@azure/event-hubs read-mensagens-d2c Node.js
Píton https://pypi.org/project/azure-eventhub/ read-d2c-messages Python

Conecte-se a outros serviços e produtos

As integrações de produto que pode usar com o ponto de extremidade interno compatível com Event Hubs exposto pelo IoT Hub incluem:

Próximos passos