Entwickeln von Stream Analytics-Edgeaufträgen mit Visual Studio-Tools

In diesem Tutorial erfahren Sie, wie Sie die Stream Analytics-Tools für Visual Studio verwenden. Sie erfahren, wie Sie Stream Analytics-Edge-Aufträge schreiben, debuggen und erstellen können. Nachdem Sie den Auftrag erstellt und getestet haben, können Sie ihn im Azure-Portal auf Ihren Geräten bereitstellen.

Voraussetzungen

Zum Durchführen dieses Tutorials benötigen Sie Folgendes:

Erstellen eines Stream Analytics-Edge-Projekts

Klicken Sie in Visual Studio auf Datei>Neu>Projekt. Navigieren Sie auf der linken Seite zur Liste Vorlagen, und erweitern Sie Azure Stream Analytics>Stream Analytics Edge>Azure Stream Analytics Edge Application (Azure Stream Analytics > Stream Analytics-Edge > Azure Stream Analytics-Edge-Anwendung). Geben Sie einen Namen, Speicherort und Projektmappennamen für Ihr Projekt ein, und klicken Sie auf OK.

Neues Stream Analytics-Edge-Projekt in Visual Studio

Nachdem das Projekt erstellt wurde, wechseln Sie zum Projektmappen-Explorer, um die Ordnerhierarchie anzuzeigen.

Projektmappen-Explorer-Ansicht des Stream Analytics Edge-Auftrags

Auswählen des richtigen Abonnements

  1. Klicken Sie in Visual Studio im Menü Ansicht auf Server-Explorer.

  2. Klicken Sie mit der rechten Maustaste auf Azure, wählen Sie Verbindung mit Microsoft Azure-Abonnement herstellen aus, und melden Sie sich dann mit Ihrem Azure-Konto an.

Definieren der Eingaben

  1. Erweitern Sie im Projektmappen-Explorer den Knoten Eingaben. Sie sollten eine Eingabe mit dem Namen EdgeInput.json sehen. Doppelklicken Sie darauf, um die zugehörigen Einstellungen anzuzeigen.

  2. Legen Sie den Quelltyp auf Datenstrom fest. Legen Sie dann die Quelle auf Edge Hub, das Ereignisserialisierungsformat auf Json und die Codierung auf UTF8 fest. Sie können den Eingabealias optional umbenennen, für dieses Beispiel ändern wir ihn jedoch nicht. Falls Sie den Eingabealias umbenennen, verwenden Sie den Namen, den Sie beim Definieren der Abfrage angegeben haben. Klicken Sie auf Speichern, um die Einstellungen zu speichern.
    Konfiguration der Stream Analytics-Auftragseingaben

Definieren der Ausgaben

  1. Erweitern Sie im Projektmappen-Explorer den Knoten Ausgaben. Sie sollten eine Ausgabe mit dem Namen EdgeOutput.json sehen. Doppelklicken Sie darauf, um die zugehörigen Einstellungen anzuzeigen.

  2. Stellen Sie sicher, dass „Senke“ auf Edge Hub, „Ereignisserialisierungsformat“ auf Json, „Codierung“ auf UTF8 und „Format“ auf Array festgelegt ist. Optional können Sie den Ausgabealias umbenennen, für dieses Beispiel ändern wir ihn jedoch nicht. Falls Sie den Ausgabealias umbenennen, verwenden Sie den Namen, den Sie beim Definieren der Abfrage angegeben haben. Klicken Sie auf Speichern, um die Einstellungen zu speichern. Konfiguration der Stream Analytics-Auftragsausgaben

Definieren der Transformationsabfrage

In Stream Analytics auf IoT Edge-Umgebungen bereitgestellte Stream Analytics-Aufträge unterstützen den Großteil der Referenz zur Stream Analytics-Abfragesprache. Die folgenden Vorgänge werden gegenwärtig jedoch nicht für Stream Analytics-Edge-Aufträge unterstützt:

Kategorie Befehl
Andere Operatoren
  • PARTITION BY
  • TIMESTAMP BY OVER
  • JavaScript UDF
  • Benutzerdefinierte Aggregate (User-Defined Aggregates, UDA).
  • GetMetadataPropertyValue
  • Verwendung von mehr als 14 Aggregaten in einem einzigen Schritt

Wenn Sie im Portal einen Stream Analytics-Edge-Auftrag erstellen und dabei einen nicht unterstützten Operator verwenden, warnt der Compiler Sie automatisch.

Definieren Sie in Visual Studio die folgende Transformationsabfrage im Abfrage-Editor (Datei script.asaql).

SELECT * INTO EdgeOutput
FROM EdgeInput 

Lokales Testen des Auftrags

Um die Abfrage lokal zu testen, sollten Sie die Beispieldaten hochladen. Sie können Beispieldaten abrufen, indem Sie Registrierungsdaten aus dem GitHub-Repository herunterladen und auf Ihrem lokalen Computer speichern.

  1. Klicken Sie zum Hochladen von Beispieldaten mit der rechten Maustaste auf die Datei EdgeInput.json, und wählen Sie Lokale Eingabe hinzufügen aus.

  2. Klicken Sie im Popupfenster auf Durchsuchen, wählen Sie die Beispieldaten im lokalen Pfad aus, und wählen Sie dann Speichern aus. Konfiguration der lokalen Eingabe in Visual Studio

  3. Ihrem Ordner für Eingaben wird automatisch eine Datei namens local_EdgeInput.json hinzugefügt.

  4. Sie können die Abfrage entweder lokal ausführen oder an Azure übermitteln. Wählen Sie zum Testen der Abfrage Lokal ausführen aus.
    Ausführungsoptionen für Stream Analytics-Aufträge in Visual Studio

  5. Im Eingabeaufforderungsfenster wird der Status des Auftrags angezeigt. Bei erfolgreicher Ausführung des Auftrags wird ein Ordner wie „2018-02-23-11-31-42“ in Ihrem Projektordnerpfad „Visual Studio 2015\Projekte\MyASAEdgejob\MyASAEdgejob\ASALocalRun\2018-02-23-11-31-42“ erstellt. Navigieren Sie zum Ordnerpfad, um die Ergebnisse im lokalen Ordner anzuzeigen:

    Sie können sich auch beim Azure-Portal anmelden und überprüfen, ob der Auftrag erstellt wurde.

    Ergebnisordner für Stream Analytics-Aufträge

Übermitteln des Auftrags an Azure

  1. Bevor Sie den Auftrag an Azure übermitteln, müssen Sie eine Verbindung mit Ihrem Azure-Abonnement herstellen. Öffnen Sie den Server-Explorer, klicken Sie mit der rechten Maustaste auf Azure>Verbindung mit Microsoft Azure-Abonnement herstellen, und melden Sie sich bei Ihrem Azure-Abonnement an.

  2. Um den Auftrag an Azure zu übermitteln, navigieren Sie zum Abfrage-Editor, und wählen Sie An Azure übermitteln aus.

  3. Ein Popupfenster wird geöffnet. In diesem können Sie auswählen, ob Sie einen vorhandenen Stream Analytics-Edge-Auftrag aktualisieren oder einen neuen Auftrag erstellen möchten. Wenn Sie einen vorhandenen Auftrag aktualisieren, wird dadurch die gesamte Auftragskonfiguration ersetzt. In diesem Szenario veröffentlichen Sie einen neuen Auftrag. Wählen Sie Neuen Azure Stream Analytics-Auftrag erstellen aus, geben Sie einen Namen für Ihren Auftrag ein (z. B. MyASAEdgeJob), wählen Sie das erforderliche Abonnement, die Ressourcengruppe und den Speicherort aus, und klicken Sie auf Übermitteln.

    Übermitteln des Stream Analytics-Auftrags an Azure aus Visual Studio

    Damit haben Sie Ihren Stream Analytics-Edge-Auftrag vollständig erstellt. Sie können ihn wie im Tutorial zum Ausführen von Aufträgen unter IoT Edge beschrieben auf Ihren Geräten bereitstellen.

Verwalten des Auftrags

Sie können den Status des Auftrags und das Auftragsdiagramm im Server-Explorer anzeigen. Erweitern Sie im Server-Explorer unter Stream Analytics das Abonnement und die Ressourcengruppe, in der Sie den Stream Analytics-Edge-Auftrag bereitgestellt haben. Sie sehen, dass MyASAEdgeJob den Status Erstellt aufweist. Erweitern Sie Ihren Auftragsknoten, und doppelklicken Sie darauf, um die Auftragsansicht zu öffnen.

Server-Explorer-Optionen für die Auftragsverwaltung

Im Auftragsansichtsfenster können Sie den Auftrag aktualisieren, löschen und im Azure-Portal öffnen.

Auftragsdiagramm und weitere Optionen in Visual Studio

Nächste Schritte