2017-08-16 4 views
0

J'ai un site Web ASP.NET Core dans le cloud Azure qui peut envoyer des messages à un périphérique IoT simulé (application console) qui se trouve sur mon réseau privé. Je veux être en mesure de répondre au message généré par le site Web Cloud-to-Device avec des données provenant de mon périphérique de réseau privé, et pas seulement un accusé de réception.Messages Azure IoT - Meilleures pratiques relatives aux données candidates

Les deux options que je peux penser sont:

  • Demandez à un auditeur de message sur les deux applications. Lorsque le site Web envoie un message à l'appareil, l'appareil envoie un message Device-to-Cloud avec les données JSON. Le problème ici est que s'il y a plusieurs messages qui volent, j'ai besoin de les distinguer.
  • Demandez à l'appareil de répondre en téléchargeant les données dans une base de données cloud via des analyses de flux, où il peut être récupéré par le site Web. Je pense que cela fonctionnerait très bien, mais je n'ai pas nécessairement besoin de stocker ces données pour une récupération future.

Est-ce que quelqu'un d'expérience à faire cela? Si oui, quelles autres options ai-je et que recommande-t-on comme meilleure pratique?

Merci.

Répondre

1

Vous pouvez utiliser l'invocation de méthode directe du Cloud (MS tutorial) - appeler une méthode sur votre appareil de simulation et d'attendre une réponse, mais cela ne fonctionne que pour de petites charges utiles (jusqu'à 8 Ko, je pense)

Pour les charges utiles plus importantes, je suggère d'envoyer un message Cloud to Device contenant un GUID identifiant le message, puis renvoyant un fichier au stockage BLOB (voir tutoriel Microsoft), utilisant le GUID comme nom de fichier, puis ayant le hub IoT envoyer un événement de notification à votre code cloud lorsque le fichier est livré. Le GUID vous permet de lier la réponse à la demande initiale.

+0

Les méthodes directes ont fonctionné un régal. J'ai été en mesure de demander un tas de données JSON en une fraction de seconde! –