Lire des messages appareil-à-cloud à partir du point de terminaison intégré

Par défaut, les messages sont acheminés vers le point de terminaison côté service intégré (messages/events) compatible avec Event Hubs. IoT Hub expose le point de terminaison prédéfini messages/events pour permettre à vos services principaux de lire les messages appareil vers cloud que reçoit votre hub. Ce point de terminaison est compatible avec Event Hubs, ce qui vous permet d’utiliser tous les mécanismes pris en charge par le service Event Hubs pour lire les messages.

Si vous utilisez un routage des messages et que l’itinéraire de secours est activé, tous les messages qui ne correspondent pas à une requête sur un itinéraire sont acheminés vers le point de terminaison intégré. Si vous désactivez cette route de repli, un message qui ne correspond à aucune requête est abandonné.

Pour l’heure, ce point de terminaison est uniquement exposé à l’aide du protocole AMQP sur le port 5671 et d’AMQP sur WebSockets sur le port 443. Un IoT Hub expose les propriétés suivantes pour vous permettre de contrôler le point de terminaison de messages compatible avec Event Hub messages/events prédéfini.

Propriété Description
Nombre de partitions Configurez cette propriété lors de la création pour définir le nombre de partitions pour la réception d’événements appareil-à-cloud.
Durée de rétention Cette propriété spécifie la durée en jours de conservation des messages par IoT Hub. La durée par défaut est de un jour, mais elle peut être augmentée à sept jours.

IoT Hub permet la conservation des données dans le point de terminaison intégré pendant sept jours maximum. Vous pouvez définir la durée de conservation lors de la création de votre IoT Hub. La durée de conservation des données dans IoT Hub dépend de votre niveau IoT hub et du type d’unité. En termes de taille, les points de terminaison intégrés peuvent conserver les messages de la taille maximale jusqu’à au moins 24 heures de quota. Par exemple, un hub IoT d’unité S1 fournit suffisamment de stockage pour conserver au moins 400 000 messages, à 4 Ko par message. Si vos appareils envoient des messages plus petits, ceux-ci peuvent être conservés plus longtemps (jusqu’à sept jours) en fonction de la quantité de stockage utilisée. Nous garantissons la conservation des données au minimum pendant la durée spécifiée. Une fois le temps de rétention écoulé, les messages expirent et deviennent inaccessibles. La durée de rétention peut être modifiée par programme, avec les API REST de fournisseur de ressources IoT Hub ou avec le Portail Azure.

IoT Hub vous permet également de gérer des groupes de consommateurs sur le point de terminaison intégré. Vous pouvez avoir jusqu’à 20 groupes de consommateurs pour chaque IoT Hub.

Se connecter au point de terminaison intégré

Certaines intégrations de produits et kits de développement logiciel Event Hubs prennent en compte IoT Hub et vous permettent d’utiliser votre chaîne de connexion au service IoT hub pour se connecter au point de terminaison intégré.

Si vous utilisez des kits de développement logiciel Event Hubs ou des intégrations de produits qui ne prennent pas en compte IoT Hub, vous avez besoin d’un point de terminaison et d’un nom compatibles avec Event Hub. Vous pouvez récupérer ces valeurs à partir du portail comme suit :

  1. Connectez-vous au portail Azure et accédez à votre IoT Hub.

  2. Sélectionnez Points de terminaison intégrés dans le menu des ressources, sous Paramètres du hub.

  3. Le volet de travail Points de terminaison intégrés contient trois sections :

    • La section Détails du hub d’événements contient les valeurs suivantes : Partitions, Nom compatible avec Event Hub, Conserver pour et Groupes de consommateurs.
    • La section Point de terminaison compatible Event Hub contient les valeurs suivantes : Stratégie d’accès partagé et Point de terminaison compatible avec Event Hub.
    • La section Messagerie cloud-appareil contient les valeurs suivantes : Durée de vie par défaut, Durée de rétention des commentaires et Nombre maximal de remises.

    Screen capture showing device-to-cloud settings.

Dans le volet de travail, le champ Point de terminaison compatible Event Hub contient une chaîne de connexion Event Hubs complète ressemblant à cet exemple :

Endpoint=sb://abcd1234namespace.servicebus.windows.net/;SharedAccessKeyName=iothubowner;SharedAccessKey=keykeykeykeykeykey=;EntityPath=iothub-ehub-abcd-1234-123456

Si le Kit de développement logiciel (SDK) que vous utilisez requiert d’autres valeurs, ce sont les suivantes :

Nom Valeur
Point de terminaison sb://abcd1234namespace.servicebus.windows.net/
HostName abcd1234namespace.servicebus.windows.net
Espace de noms abcd1234namespace

Vous pouvez ensuite choisir une stratégie d’accès partagé dans la liste déroulante Stratégie d’accès partagé, comme illustré dans la capture d’écran précédente. Elle montre uniquement les stratégies qui disposent des autorisations ServiceConnect pour se connecter à l’Event Hub spécifié.

Exemples du Kit de développement logiciel (SDK)

Les kits de développement logiciel que vous pouvez utiliser pour vous connecter au point de terminaison compatible Event Hub intégré exposé par IoT Hub sont les suivants :

Langage Kit SDK Exemple
.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

Les intégrations de produits que vous pouvez utiliser avec le point de terminaison compatible Event Hub exposé par IoT Hub sont les suivantes :

Étapes suivantes