Entwickeln Sie Stream Analytics Edge-Jobs mithilfe von Visual Studio-Tools

In diesem Artikel erfahren Sie, wie Sie Stream Analytics-Tools für Visual Studio verwenden, um Stream Analytics Edge-Jobs zu verfassen, zu debuggen und zu erstellen. Nachdem du den Job erstellt und getestet hast, gehst du zum Azure-Portal, um ihn auf deinen Geräten bereitzustellen.

Voraussetzungen für die Entwicklung von Edge-Jobs

Sie benötigen die folgenden Voraussetzungen, um die Schritte in diesem Artikel abzuschließen:

  1. Installieren Sie Visual Studio 2019, Visual Studio 2015 oder Visual Studio 2013 Update 4. Stream Analytics Tools unterstützen die Enterprise (Ultimate/Premium), Professional und Community Editions, aber nicht die Express-Edition.

  2. Befolgen Sie die Installationsanweisungen , um Stream Analytics-Tools für Visual Studio zu installieren.

Erstellen Sie ein Stream Analytics Edge-Projekt

Erstellen Sie das Edge-Projekt, das Ihre Job-Definition enthält.

  1. Wählen Sie in Visual Studio File>New>Project aus. Gehe links zur Liste Vorlagen und öffne dann Azure Stream Analytics>Stream Analytics EdgeAzure>Stream Analytics Edge Application. Geben Sie einen Namen, einen Ort und einen Lösungsnamen für Ihr Projekt ein und wählen Sie dann OK.

    Screenshot des Dialogfelds New Project zum Erstellen einer Azure Stream Analytics Edge-Anwendung in Visual Studio.

  2. Nachdem Visual Studio das Projekt erstellt hat, gehe in den Projektmappen-Explorer, um die Ordnerhierarchie anzusehen.

    Screenshot des Projektmappen-Explorer, der die Ordnerhierarchie eines Stream Analytics Edge-Projekts in Visual Studio zeigt.

Wählen Sie das richtige Abonnement

Verbinde Visual Studio mit dem Azure-Abonnement, bei dem du den Job erstellen möchtest.

  1. Wählen Sie in Ihrem Visual Studio View-Menü Server Explorer aus.

  2. Wählen Sie Azure aus und halten Sie sie (oder klicken Sie mit der rechten Maustaste an), wählen Sie Connect to Microsoft Azure Subscription und melden Sie sich dann mit Ihrem Azure-Konto an.

Definieren von Eingaben

Konfigurieren Sie die Edge-Hub-Eingabe, von der der Job Streaming-Ereignisse liest.

  1. Vom Projektmappen-Explorer aus eröffnest du den Inputs-Knoten. Du siehst eine Eingabe namens EdgeInput.json. Öffnen Sie es, um die Einstellungen anzusehen.

  2. Setze den Quelltyp auf Datenstrom. Dann setze Source auf Edge Hub, Event Serialization Format auf JSON und kodiere auf UTF8. Optional kann man den Eingabe-Alias umbenennen, aber für dieses Beispiel so belassen, wie er ist. Wenn Sie das Eingabealias umbenennen, verwenden Sie den Namen, den Sie bei der Definition der Abfrage angeben. Klicken Sie auf Speichern, um die Einstellungen zu speichern. Screenshot der Stream Analytics Edge Hub-Eingabekonfigurationseinstellungen in Visual Studio.

Definieren der Ausgaben

Konfigurieren Sie die Edge Hub-Ausgabe, auf die der Job die Ergebnisse schreibt.

  1. Erweitern Sie im Projektmappen-Explorer den Outputs-Knoten. Du siehst eine Ausgabe namens EdgeOutput.json. Öffnen Sie es, um die Einstellungen anzusehen.

  2. Setze Sink auf Edge Hub, setze Event Serialization Format auf Json, setze Encoding auf UTF8 und setze Format auf Array. Optional kann man das Ausgabe-Alias umbenennen, aber für dieses Beispiel so belassen, wie es ist. Wenn Sie das Ausgabe-Alias umbenennen, verwenden Sie den Namen, den Sie bei der Definition der Abfrage angeben. Klicken Sie auf Speichern, um die Einstellungen zu speichern. Screenshot der Ausgabekonfigurationseinstellungen von Stream Analytics Edge Hub in Visual Studio.

Überprüfung der nicht unterstützten Operationen

Stream-Analytics-Jobs, die in den Stream Analytics IoT Edge-Umgebungen eingesetzt werden, unterstützen den Großteil der Stream Analytics Query Language-Referenz. Für Stream Analytics Edge-Jobs werden jedoch die folgenden Operationen nicht unterstützt:

  1. AUFTEILUNG DURCH
  2. ZEITSTEMPEL NACH OVER
  3. JavaScript-UDF
  4. Benutzerdefinierte Aggregate (UDA)
  5. GetMetadataPropertyValue
  6. Verwendung von mehr als 14 Aggregaten in einem einzigen Schritt

Wenn du im Portal einen Stream Analytics Edge-Job erstellst, warnt dich der Compiler automatisch, wenn du keinen unterstützten Operator verwendest.

Definieren der Transformationsabfrage

Von Visual Studio aus definieren Sie die folgende Transformationsanfrage im Abfrageeditor (der script.asaql Datei).

SELECT * INTO EdgeOutput
FROM EdgeInput 

Testen Sie den Job lokal

Um die Abfrage lokal zu testen, laden Sie die Beispieldaten hoch. Um Beispieldaten zu erhalten, lade die Registrierungsdaten aus dem GitHub-Repository herunter und speichere sie auf deinem lokalen Computer.

  1. Um Beispieldaten hochzuladen, wähle und halte (oder klicke mit Rechtsklick) die EdgeInput.json-Datei und wähle dann Lokale Eingabe hinzufügen.

  2. Im Popup-Fenster durchsuchen Sie die Beispieldaten an Ihrem lokalen Speicherort und wählen Speichern aus.

    Screenshot der lokalen Eingabekonfiguration zum Hochladen von Beispieldaten in Visual Studio.

  3. Visual Studio fügt automatisch eine Datei namens local_EdgeInput.json in deinen Eingabeordner hinzu.

  4. Du kannst es entweder lokal ausführen oder bei Azure einreichen. Um die Abfrage zu testen, wählen Sie Run Locally.

    Screenshot der Ausführungsoptionen des Stream Analytics-Auftrags mit der Option „Run Locally“ in Visual Studio.

  5. Das Eingabeaufforderungsfenster zeigt den Status des Jobs an. Wenn der Job erfolgreich ausgeführt wird, erstellt er im Pfad deines Projektordners Visual Studio 2015\Projects\MyASAEdgejob\MyASAEdgejob\ASALocalRun\2018-02-23-11-31-42 einen Ordner wie 2018-02-23-11-31-42. Gehe zum Ordnerpfad, um die Ergebnisse im lokalen Ordner anzusehen.

    Du kannst dich auch im Azure-Portal anmelden und überprüfen, ob der Job erstellt wurde.

    Screenshot des Stream Analytics Job-Ergebnisordners, der lokale Laufausgabe in Visual Studio zeigt.

Reiche den Auftrag bei Azure ein

Nachdem Sie die Abfrage getestet haben, veröffentlichen Sie den Job in Ihrem Azure-Abonnement.

  1. Bevor du den Job bei Azure einreichst, verbinde dich mit deinem Azure-Abo. Öffnen Sie den Server Explorer, wählen Sie Azure aus und halten Sie sie (oder klicken Sie mit der rechten Maustaste an), wählen Sie "Zum Microsoft Azure-Abonnement verbinden und melden Sie sich dann bei Ihrem Azure-Abonnement an.

  2. Um den Auftrag bei Azure einzureichen, gehe zum Abfrageeditor und wähle "Submit to Azure" aus.

  3. Ein Popupfenster wird geöffnet. Entscheiden Sie sich, einen bestehenden Stream Analytics Edge-Job zu aktualisieren oder einen neuen zu erstellen. Wenn du einen bestehenden Job aktualisierst, ersetzt er alle Job-Konfigurationen. In diesem Szenario veröffentlichen Sie einen neuen Job. Wählen Sie einen neuen Azure Stream Analytics-Job erstellen, geben Sie einen Namen für Ihren Job ein, zum Beispiel MyASAEdgeJob, wählen Sie das erforderliche Abonnement, die Ressourcengruppe und den Standort und wählen Sie dann Absenden.

    Screenshot des Dialogfelds zum Einreichen eines Stream Analytics Edge-Jobs bei Azure aus Visual Studio.

    Du hast jetzt einen Stream Analytics Edge-Job. Wie Sie es auf Ihren Geräten bereitstellen, erfahren Sie unter Run jobs on IoT Edge.

Managen Sie die Arbeit

Verwalten Sie den Jobstatus und das Jobdiagramm aus dem Server Explorer.

  1. Von Stream Analytics im Server Explorer aus erweitern Sie das Abonnement und die Ressourcengruppe, in der Sie den Stream Analytics Edge-Job bereitgestellt haben. Du siehst MyASAEdgejob mit dem Status Created. Erweitern Sie Ihren Job-Knoten und öffnen Sie ihn dann, um den Job anzusehen.

    Screenshot von Server Explorer, der Job-Management-Optionen für einen Stream Analytics Edge-Job zeigt.

  2. Im Job-Ansichtsfenster können Sie den Job aktualisieren, löschen und im Azure-Portal öffnen.

    Screenshot des Job-Ansichtsfensters, das das Jobdiagramm und andere Optionen in Visual Studio zeigt.