2017-08-16 1 views
0

Ich habe eine ASP.NET Core-Website in der Azure Cloud, die Nachrichten an ein simuliertes IoT-Gerät (Konsolenanwendung) in meinem privaten Netzwerk senden kann.Azure IoT-Nachrichten - Anfordern von Daten Best Practices

Ich möchte in der Lage sein, auf die von der Cloud-to-Device-Website generierte Nachricht mit Daten von meinem privaten Netzwerkgerät zu reagieren, nicht nur eine Lieferbestätigung.

Die beiden Optionen, die ich denken kann, sind:

  • Haben Sie eine Nachricht Hörer auf beiden Anwendungen. Wenn die Website eine Nachricht an das Gerät sendet, sendet das Gerät eine Device-to-Cloud-Nachricht mit den JSON-Daten zurück. Das Problem hier ist, wenn mehrere Nachrichten herumfliegen, muss ich zwischen ihnen unterscheiden.
  • Lassen Sie das Gerät reagieren, indem Sie die Daten per Stream Analytics in eine Cloud-Datenbank hochladen, wo sie von der Website abgerufen werden können. Ich denke, das würde ganz gut funktionieren, aber ich muss diese Daten nicht unbedingt für den späteren Abruf speichern.

Hat jemand Erfahrung dabei? Wenn ja, welche anderen Optionen habe ich und was empfehlen die Leute als Best Practice?

Danke.

Antwort

1

Sie können aus der Cloud direkten Methodenaufruf verwenden (MS tutorial) - ein Verfahren auf Ihrem simulierten Gerät aufrufen und auf eine Antwort warten, aber das wird nur für kleine Nutzlasten arbeiten (bis zu 8 KB, glaube ich)

Bei größeren Nutzlasten empfehle ich, eine Cloud to Device-Nachricht mit einer GUID zu senden, die die Nachricht identifiziert, und dann eine Datei zurück an den BLOB-Speicher zu senden (siehe Microsoft-Lernprogramm this), die GUID als Dateinamen zu verwenden und dann den IoT-Hub zu verwenden Senden Sie ein Benachrichtigungsereignis an Ihren Cloud-Code, wenn die Datei zugestellt wird. Mit der GUID können Sie die Antwort an die ursprüngliche Anforderung binden.

+0

Direkte Methoden arbeiteten ein Vergnügen. Ich konnte im Bruchteil einer Sekunde eine Menge JSON-Daten anfordern! –