2017-07-23 7 views
0

J'essaie de comprendre ce qui affecte le compteur de messages Azure IoT Hub.Azure IoT Nombre de messages du concentrateur affecté par la taille du message?

J'envoie un simple message formaté JSON à partir d'un périphérique Raspberry Pi 3 exécutant Windows IoT Core. La taille du message est probablement d'environ 1 Ko.

J'ai une fonction simple qui surveille les nouveaux messages et les stocke dans un stockage de table à mesure qu'ils arrivent.

Chaque message apprears à incrémenter le compteur de messages Azure IdO Hub d'environ 10 (plutôt que prévu 1)

Je n'ai trouvé aucune référence à cette question - mais ce que la taille des messages somewhow affecte la façon dont les messages sont comptés?

EDIT

L'exemple de code follwoing a une fois juste cogné le compteur de messages dans Azure 4

using Microsoft.Azure.Devices.Client; 
using System; 
using System.Text; 

namespace ConsoleApp1 
{ 
    class Program 
    { 
     private static DeviceClient deviceClient; 
     private static string iotHubUri = "iothubaccount.azure-devices.net"; 
     private static string deviceKey = "devicekey"; 

     private static string reading = @"{ 
cycle:0, 
tempCentre:16.25, 
trCentre:627, 
tempCorner:16.00, 
trCorner:619, 
data: [ 
[{val: 643, convVal: 14.31, valA: 644}, {val: 1023, convVal: -94.70, valA: 1022}, {val: 628, convVal: 18.61, valA: 628}, {val: 620, convVal: 20.91, valA: 621}, {val: 622, convVal: 20.34, valA: 620}, {val: 621, convVal: 20.62, valA: 620}], 
[{val: 645, convVal: 13.74, valA: 645}, {val: 1020, convVal: -93.84, valA: 1021}, {val: 630, convVal: 18.04, valA: 629}, {val: 620, convVal: 20.91, valA: 621}, {val: 620, convVal: 20.91, valA: 621}, {val: 621, convVal: 20.62, valA: 621}], 
[{val: 644, convVal: 14.02, valA: 644}, {val: 1023, convVal: -94.70, valA: 1022}, {val: 627, convVal: 18.90, valA: 627}, {val: 620, convVal: 20.91, valA: 620}, {val: 621, convVal: 20.62, valA: 621}, {val: 620, convVal: 20.91, valA: 620}], 
[{val: 667, convVal: 7.43, valA: 667}, {val: 1023, convVal: -94.70, valA: 1022}, {val: 733, convVal: -11.51, valA: 732}, {val: 644, convVal: 14.02, valA: 643}, {val: 645, convVal: 13.74, valA: 645}, {val: 644, convVal: 14.02, valA: 642}], 
[{val: 644, convVal: 14.02, valA: 643}, {val: 1021, convVal: -94.13, valA: 1022}, {val: 628, convVal: 18.61, valA: 628}, {val: 619, convVal: 21.20, valA: 618}, {val: 619, convVal: 21.20, valA: 619}, {val: 618, convVal: 21.48, valA: 618}], 
[{val: 665, convVal: 8.00, valA: 666}, {val: 1022, convVal: -94.42, valA: 1022}, {val: 648, convVal: 12.88, valA: 649}, {val: 644, convVal: 14.02, valA: 643}, {val: 644, convVal: 14.02, valA: 642}, {val: 643, convVal: 14.31, valA: 643}], 
[{val: 1022, convVal: -94.42, valA: 1022}, {val: 1023, convVal: -94.70, valA: 1022}, {val: 1023, convVal: -94.70, valA: 1023}, {val: 1023, convVal: -94.70, valA: 1022}, {val: 1021, convVal: -94.13, valA: 1022}, {val: 1022, convVal: -94.42, valA: 1022}], 
[{val: 651, convVal: 12.02, valA: 651}, {val: 1022, convVal: -94.42, valA: 1021}, {val: 654, convVal: 11.16, valA: 654}, {val: 627, convVal: 18.90, valA: 627}, {val: 628, convVal: 18.61, valA: 629}, {val: 629, convVal: 18.33, valA: 627}] 
]} 
"; 
     static void Main(string[] args) 
     { 
      Console.WriteLine("Sending message."); 
      deviceClient = DeviceClient.Create(iotHubUri, new DeviceAuthenticationWithRegistrySymmetricKey("RegistredDeviceName", deviceKey), TransportType.Mqtt); 
      var message = new Message(Encoding.ASCII.GetBytes(reading)); 
      deviceClient.SendEventAsync(message).Wait(); 
      Console.WriteLine("Message sent."); 
      Console.ReadLine(); 
     } 
    } 
} 
+0

Comment avez-vous compris le nombre de messages? Quel protocole avez-vous utilisé? –

+0

@ RitaHan-MSFT en utilisant le protocole Mqtt. Actuellement en train d'envoyer un message par minute et il semble utiliser toute la limite de 8000 du plan libre avec un seul appareil en 9 heures environ. –

+0

Avez-vous compté dans votre application combien de messages exactement avez-vous envoyés en 9 heures? –

Répondre

1

L'exemple de code follwoing a une fois juste cogné le compteur de messages dans Azure par 4

Il est prévu que vous utilisiez iot hub free edi tion. Selon votre échantillon de code, la longueur de la charge utile de votre message est de 2027 (octets). Ce sera divisé à environ 4 messages hub iot (Pour l'édition gratuite MESSAGE METER SIZE is 0.5 KB).

Vous pouvez obtenir la longueur du message en utilisant message.BodyStream.Length.

+0

Ok, merci, je cherchais des limites de taille de message et je ne pouvais pas le trouver n'importe où. Quelles sont les tailles de message pour les autres niveaux? –

+0

Référence [this] (https://azure.microsoft.com/fr-fr/pricing/details/iot-hub/). –