Informations de facturation d'Azure IoT Hub

La tarification d’Azure IoT Hub fournit des informations générales sur les différentes références SKU et les tarifs d’IoT Hub. Cet article contient des détails sur la manière dont les différentes fonctionnalités d’IoT Hub sont mesurées en tant que messages par IoT Hub.

Notes

Certaines des fonctionnalités mentionnées dans cet article, comme la messagerie cloud-à-appareil, les jumeaux d’appareil et la gestion des appareils, sont disponibles uniquement dans le niveau Standard d’IoT Hub. Pour plus d’informations sur les niveaux de base et standard/gratuit d’IoT Hub, consultez Choisir le niveau IoT Hub correspondant à votre solution.

Frais par opération

Utilisez le tableau suivant pour déterminer les opérations qui sont facturées. Toutes les opérations facturables sont facturées par blocs de 4 Ko sur les hubs IoT de niveau De base et Standard. Les opérations sont mesurées en blocs de 0,5 Ko sur les hubs IoT de niveau Gratuit. Les détails pour chaque catégorie sont fournis dans la colonne Informations de facturation. Cette colonne comporte les informations suivantes :

  • Détails sur la façon dont les opérations facturables sont mesurées sur les hubs IoT de niveau De base et Standard. Toutes les opérations ne sont pas disponibles dans le niveau De base.
  • Les opérations qui entraînent des frais, avec :
    • Un lien vers la documentation de l’API REST si elle existe.
    • Le point de terminaison de l’opération si la documentation de l’API REST n’est pas disponible, ou si l’opération est disponible seulement sur MQTT et/ou AMQP. La valeur du point de terminaison omet la référence du début au hub IoT cible : {fully-qualified-iothubname}.azure-devices.net.
  • Un ou plusieurs termes en italique suivant chaque opération (ou point de terminaison). Ces termes représentent des opérations facturables qui sont facturées par rapport au quota pour votre hub IoT. Vous pouvez voir ces termes fournis dans le cadre d’une analyse de l’utilisation du quota quand vous lancez une demande de support sur le portail Azure. Ils peuvent également être retournés par le support technique. Vous pouvez utiliser le tableau ci-dessous pour faire référence à ces termes avec l’opération correspondante pour vous aider à comprendre l’utilisation et la facturation des quotas pour votre solution IoT. Pour plus d’informations, consultez Exemple 4.
Catégorie d’opération Informations de facturation
Opérations du registre d’identité
(créer, mettre à jour, obtenir, lister, supprimer, mettre à jour en bloc, statistiques)
Non facturé.
Messages appareil-à-cloud Les messages envoyés avec succès sont facturés en blocs de 4 Ko une fois entrés dans IoT Hub. Par exemple, un message de 100 octets est facturé comme 1 message, et un message de 6 Ko est facturé comme 2 messages.

Envoyer un événement d’appareil : soit Télémétrie d’appareil vers le cloud, soit Routage de la télémétrie de l’appareil vers le cloud, en fonction de la configuration des fonctions de routage des messages de l'IoT Hub.
Messages Cloud vers appareil Les messages envoyés avec succès sont facturés en blocs de 4 Ko. Par exemple, un message de 6 Ko est facturé 2 messages.

Recevoir une notification liée à un appareil : Commande du cloud vers un appareil
Chargements de fichiers Le transfert de fichiers vers Stockage Azure n’est pas mesuré par IoT Hub. Les messages de lancement et de complétion du transfert de fichiers sont facturés en tant que messages, par incréments de 4 Ko. Par exemple, le transfert d’un fichier de 10 Mo est facturé deux messages, en plus du coût de Stockage Azure.

Créer un URI SAS de chargement de fichier : Charger un fichier d’un appareil vers le cloud
Mettre à jour l’état de chargement de fichier : Charger un fichier d’un appareil vers le cloud
Méthodes directes Les demandes réussies de méthodes sont facturées par blocs de 4 Ko, tandis que les réponses sont elles aussi facturées par blocs de 4 Ko, en tant que messages supplémentaires. Les demandes ou les réponses sans charge utile sont facturées comme 1 message. Par exemple, une méthode avec un corps de 4 Ko qui aboutit à une réponse sans corps depuis l’appareil est facturée comme 2 messages. Une méthode avec un corps de 6 Ko qui génère une réponse de 1 Ko de l’appareil est facturée comme deux messages pour la demande, plus un autre message pour la réponse. Les demandes adressées à des appareils déconnectés sont facturées comme des messages en blocs de 4 Ko, plus 1 message pour une réponse indiquant que l’appareil n’est pas en ligne.

Appareil - Appeler la méthode : Méthode d’appel direct d’un appareil,
Appareil - Appeler une méthode : Méthode d’appel direct d’un module
Lectures de jumeaux de l’appareil et du module Les lectures de jumeaux de l’appareil ou du module et du backend de la solution sont facturées en tant que messages, par blocs de 4 Ko. Par exemple, la lecture d’un jumeau numérique de 8 Ko est facturée comme 2 messages.

Obtenir un jumeau numérique : Obtenir un jumeau numérique
Obtenir un jumeau de module : Obtenir un jumeau de module

Lit les jumeaux d’appareil et de module auprès d’un appareil :
Point de terminaison : /devices/{id}/twin (MQTT, AMQP uniquement) : Obtenir un jumeau numérique D2C
Point de terminaison : /devices/{deviceid}/modules/{moduleid}/twin (MQTT, AMQP uniquement) : Module D2C - Obtenir un jumeau numérique
Mises à jour de jumeaux d’appareil ou de module (balises et propriétés) Les mises à jour de jumeaux à partir de l’appareil ou du module et du backend de la solution sont facturées en tant que messages, par blocs de 4 Ko. Par exemple, la lecture d’un jumeau numérique de 12 Ko est facturée comme 3 messages.

Mettre à jour un jumeau numérique : Mettre à jour un jumeau numérique
Mettre à jour un jumeau de module : Mettre à jour un jumeau de module
Remplacer un jumeau numérique : Remplacer un jumeau numérique
Remplacer un jumeau de module : Remplacer un jumeau de module

Mettre à jour les propriétés signalées du jumeau d’appareil ou de module depuis un appareil :
Point de terminaison : /twin/PATCH/properties/reported/ (MQTT, AMQP uniquement) :D2 - Patch ReportedProperties ou Module D2 - Patch ReportedProperties

Recevoir les notifications de mise à jour des propriétés souhaitées sur un appareil :
Point de terminaison : /twin/PATCH/properties/desired/ (MQTT, AMQP uniquement) :D2 - Notifier DesiredProperties ou Module D2 - Notifier DesiredProperties
Requêtes de jumeaux de l’appareil et du module Les requêtes contre des appareils ou des modules d'appareils sont facturées en tant que messages en fonction de la taille du résultat, par blocs de 4 Ko. Les requêtes concernant les tâches ne sont pas facturées.

Obtenir des jumeaux numériques (requête contre des collections de dispositifs ou de modules de dispositifs), Interroger des appareils
Lectures de jumeau numérique Les lectures de jumeau numérique du backend de la solution sont facturées comme des messages en blocs de 4 Ko. Par exemple, la lecture d’un jumeau numérique de 8 Ko est facturée comme 2 messages.

Obtenir un jumeau numérique, Obtenir un jumeau numérique
Mises à jour de jumeau numérique Les mises à jour de jumeau numérique du backend de la solution sont facturées comme des messages en blocs de 4 Ko. Par exemple, la lecture d’un jumeau numérique de 12 Ko est facturée comme 3 messages.

Mettre à jour un jumeau numérique, Corriger un jumeau numérique
Commandes de jumeau numérique Les commandes réussies sont facturées par blocs de 4 Ko, et les réponses sont facturées par blocs de 4 Ko comme messages supplémentaires. Les demandes ou les réponses sans corps sont facturées comme 1 message. Par exemple, une commande avec un corps de 4 Ko qui génère une réponse sans corps depuis l’appareil est facturée comme 2 messages. Une commande avec un corps de 6 Ko qui génère une réponse de 1 Ko depuis l’appareil est facturée comme 2 messages pour la demande, plus 1 autre message pour la réponse. Les commandes adressées à des appareils déconnectés sont facturées comme messages en blocs de 4 Ko, plus 1 message pour une réponse indiquant que l’appareil n’est pas en ligne.

Appeler une commande de composant : Commande de composant de jumeau numérique
Appeler une commande de niveau racine : Commande de niveau racine de jumeau numérique
Opérations de travaux
(créer, annuler, obtenir, interroger)
Non facturé.
Opérations de travaux par appareil Les opérations de travaux (comme les mises à jour de jumeaux et les méthodes) sont facturées en blocs de 4 Ko. Par exemple, un travail entraînant 1000 appels de méthode avec des requêtes de 1 Ko et des réponses avec une charge utile vide est facturé 2 000 messages (un message pour chaque requête et réponse).

Mettre à jour un travail d’appareil jumeau
Appeler une méthode - Travail d’appareil
Opérations de configuration
(créer, mettre à jour, obtenir, lister, supprimer, tester une requête)
Non facturé.
Opérations de configuration par appareil Les opérations de configuration sont facturées comme messages en blocs de 4 Ko. Les réponses ne sont pas facturées. Par exemple, une opération d’application de configuration avec un corps de 6 Ko est facturée comme 2 messages.

Appliquer sur un périphérique : Application de service de configuration.
Keep-alive messages Quand vous utilisez les protocoles AMQP ou MQTT, les messages échangés pour établir la connexion, et les messages échangés dans la négociation ou pour conserver la connexion ouverte et active, ne sont pas facturés.
Device Streams (préversion) Les flux d’appareils sont en préversion et les opérations ne sont pas encore facturées.

Point de terminaison : /twins/{deviceId}/streams/{streamName} : Flux d’appareils
Point de terminaison : /twins/{deviceId}/modules/{moduleId}/streams/{streamName} : Module de flux d’appareils

Notes

L’ensemble des tailles sont calculées en fonction de la taille en octets de la charge utile (le tramage de protocole est ignoré). Pour les messages qui ont des propriétés et un corps, la taille est calculée de manière agnostique du point de vue du protocole. Pour plus d’informations, consultez Créer et lire des messages IoT Hub.

Les tailles de message maximales diffèrent selon les différents types d’opérations. Pour plus d’informations, consultez Quotas et limitation d’IoT Hub.

Pour certaines opérations, vous pouvez utiliser des stratégies de traitement par lots et de compression pour réduire les coûts. Pour obtenir un exemple utilisant de la télémétrie appareil-à-cloud, consultez Exemple #3.

Exemple 1

Un appareil transmet un message appareil-à-cloud de 1 Ko par minute vers IoT Hub ; ce message est ensuite lu par Azure Stream Analytics. Le backend de la solution appelle une méthode (avec une charge utile de 512 octets) sur l’appareil toutes les 10 minutes afin de déclencher une action spécifique. L’appareil répond à la méthode, avec un résultat de 200 octets.

L’appareil consomme :

  • Un message * 60 minutes * 24 heures = 1440 messages par jour pour les messages appareil-à-cloud.

  • Deux messages (demande plus réponse) * 6 fois par heure * 24 heures = 288 messages pour les méthodes.

Ce calcul donne un total de 1 728 messages par jour.

Exemple n° 2

Chaque heure, un appareil envoie un message appareil-à-cloud de 100 Ko. Il met également à jour son jumeau d’appareil avec des charges utiles de 1 Ko toutes les quatre heures. Le back-end de la solution, une fois par jour, lit le jumeau d’appareil de 14 Ko et le met à jour avec des charges utiles de 512 octets afin de modifier les configurations.

L’appareil consomme :

  • 25 (100 Ko / 4 Ko) messages * 24 heures pour les messages appareil-à-cloud.

  • 1 message (1 Ko / 4 Ko) * 6 fois par jour pour les mises à jour de jumeau d’appareil.

Ce calcul donne un total de 606 messages par jour.

Le backend de la solution consomme 4 messages (14 Ko / 4 Ko) pour lire le jumeau d’appareil, plus 1 message pour le mettre à jour (512 / 4 Ko), pour un total de 5 messages.

Au total, l’appareil et le back-end de la solution consomment 611 messages par jour.

Exemple #3

Selon votre scénario, le traitement par lots des messages peut réduire l’utilisation de votre quota.

Par exemple, considérez un appareil qui a un capteur générant seulement 100 octets de données chaque fois qu’il est lu :

  • Si l’appareil effectue un traitement par lots de 40 lectures du capteur dans un seul message appareil-à-cloud avec une charge utile de 4 Ko (40 * 100 octets), un seul message est facturé par rapport au quota. Si l’appareil lit le capteur 40 fois par heure et les traite par lots dans un seul message appareil-à-cloud par heure, il envoie 24 messages/jour.

  • Si l’appareil envoie un message appareil-à-cloud avec une charge utile de 100 octets pour chaque lecture du capteur, il consomme 40 messages par rapport au quota pour la même quantité de données. Si l’appareil lit le capteur 40 fois par heure et envoie chaque message individuellement, il enverrait 960 messages/jour (40 messages * 24).

Votre stratégie de traitement par lots dépend de votre scénario et de l'urgence des données. Si vous envoyez de grandes quantités de données, vous pouvez aussi envisager d’implémenter la compression des données pour réduire davantage l’impact sur le quota de messages.

Exemple #4

Quand vous ouvrez une demande de support sur le portail Azure, des diagnostics spécifiques au problème que vous signalez sont exécutés. Le résultat s’affiche sous la forme d’un insight, sous l’onglet Solutions de votre demande. Un tel aperçu fait état de l'utilisation des quotas pour votre IoT hub en utilisant les termes en italique dans le tableau ci-dessus. Que cet insight particulier soit retourné dépend des résultats des diagnostics effectués sur votre hub IoT pour le problème que vous signalez. Si l'aperçu de l'utilisation des quotas est signalé, vous pouvez utiliser le tableau pour établir une référence croisée entre le ou les termes d’utilisation signalés, et la ou les opérations auxquelles ils font référence.

Par exemple, la capture d’écran suivante montre une demande de support lancée pour un problème de télémétrie appareil-à-cloud.

Capture d’écran montrant la sélection d’un problème dans une demande de support sur le portail Azure.

Après avoir sélectionné Solutions suivantes, l’insight d’utilisation du quota est retourné par les diagnostics sous Répartition quotidienne du quota de messages d’IoT Hub. Il montre la répartition des messages appareil-à-cloud envoyés au hub IoT. Dans ce cas, le routage des messages est activé sur le hub IoT : les messages sont donc affichés en tant que Routage de la télémétrie appareil-à-cloud. Notez que l’insight d’utilisation du quota peut ne pas être retourné pour le même problème sur un autre hub IoT. Ce qui est retourné dépend de l’activité et de l’état de ce hub IoT.

Capture d’écran montrant l’utilisation des quotas dans une demande de support sur le portail Azure.