Compartilhar via


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. 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. Esse ponto de extremidade é compatível com os Hubs 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.

Caso esteja usando roteamento de mensagens e a rota de fallback estiver habilitada, uma mensagem que não corresponder a uma consulta em qualquer rota irá para o ponto de extremidade interno. Caso desabilite esta rota de fallback, uma mensagem que não corresponde a nenhuma consulta será descartada.

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 no ponto de extremidade interno por, no máximo, sete dias. Defina 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, o ponto de extremidade interno pode reter as mensagens do tamanho máximo da mensagem até pelo menos 24 horas de cota. Por exemplo, um hub IoT de unidade S1 fornece armazenamento suficiente para reter pelo menos 400.000 mensagens, a 4 KB por mensagem. Se seus dispositivos enviarem mensagens menores, elas poderão ser retidas por mais tempo (até sete dias), dependendo do consumo de armazenamento. Garantimos a retenção dos dados pelo tempo de retenção especificado como mínimo. Depois que o tempo de retenção tiver passado, as mensagens expirarão e se tornarão inacessíveis. 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 também permite que você gerencie 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 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. Selecione Pontos de extremidade internos no menu de recursos, em Configurações do hub.

  3. O painel de trabalho Pontos de extremidade internos 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 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 de nuvem para dispositivo contém os seguintes valores: TTL padrão, Tempo de retenção de comentários e Contagem máxima de entrega.

    Screen capture showing device-to-cloud settings.

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

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

Escolha qualquer política de acesso compartilhado na lista suspensa Política de acesso compartilhado, conforme mostrado na captura de tela anterior. Ela mostra apenas as políticas que têm as permissões do ServiceConnect para se conectar ao hub de eventos especificado.

Exemplos do SDK

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 SDK Exemplo
.NET https://www.nuget.org/packages/Azure.Messaging.EventHubs ReadD2cMessages .NET
Java https://mvnrepository.com/artifact/com.azure/azure-messaging-eventhubs
Node.js https://www.npmjs.com/package/@azure/event-hubs read-d2c-messages Node.js
Python https://pypi.org/project/azure-eventhub/ read-dec-messages Python

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:

Próximas etapas