Freigeben über


Azure Stream Analytics & Eventstream Query Language Reference

Azure Stream Analytics bietet eine SQL-Abfragesprache zum Ausführen von Transformationen und Berechnungen über Datenströme von Ereignissen.

Eine Teilmenge der T-SQL-Syntax

In diesem Dokument werden die Syntax, die Verwendung und die bewährten Methoden für die Stream Analytics-Abfragesprache beschrieben. Alle in diesem Dokument verwendeten Beispiele basieren wie unten beschrieben auf einem Mautstandsszenario.

Die Stream Analytics-Abfragesprache ist eine Teilmenge der T-SQL-Standardsyntax für Streamingberechnungen.

Das Szenario für mautpflichtige Stände

Eine Mautstation ist ein häufiges Phänomen – wir begegnen ihnen in vielen Expressstraßen, Brücken und Tunneln auf der ganzen Welt. Jede Mautstation verfügt über mehrere Mautstände, die manuell sein können – d. h., Sie stoppen, die Maut an eine Telefonzentrale zu bezahlen, oder automatisierte – wenn ein Sensor, der über dem Stand platziert ist, eine RFID-Karte scannt, die an der Windschutzscheibe Ihres Fahrzeugs angebracht ist, während Sie die Mautstelle passieren. Es ist einfach, die Durchfahrt von Fahrzeugen durch diese Mautstationen als Veranstaltungsstrom zu visualisieren, über den interessante Vorgänge durchgeführt werden können.

Ankunftszeit im Vergleich zur Anwendungszeit

In jedem zeitlichen System wie Azure Stream Analytics ist es wichtig, den Fortschritt der Zeit zu verstehen. Jedes Ereignis, das über das System fließt, verfügt über einen Zeitstempel, auf den über System.Timestamp()zugegriffen werden kann. Mit anderen Worten, jedes Ereignis in unserem System stellt einen Zeitpunkt dar. Dieser Zeitstempel kann entweder eine Anwendungszeit sein, die der Benutzer in der Abfrage angeben kann, oder das System kann basierend auf der Ankunftszeit zuweisen. Die Ankunftszeit hat unterschiedliche Bedeutungen basierend auf den Eingabequellen. Für die Ereignisse vom Azure Event Hub ist die Ankunftszeit der vom Event Hub angegebene Zeitstempel; für Blob-Speicher ist dies der Zeitpunkt der letzten Änderung des BLOB. Der Zeitstempel ist der Zeitpunkt, der für die Erfassung oder Analyse von Daten relevant ist. Wenn der Benutzer eine Anwendungszeit verwenden möchte, kann er dies mit dem Schlüsselwort TIMESTAMP BY tun. Im obigen Szenario ist es der Eintritt des Fahrzeugs in die Mautstelle. Es ist wichtig, den "Zeitstempel" im eingehenden Datenstrom zu identifizieren, um sicherzustellen, dass die erfasste Zeit auch das Auftreten eines Ereignisses bestätigt. Wenn man beispielsweise Barzähler überwacht und die Anzahl der in Rechnung gestellten Kunden zählen möchte, sollte der Zeitstempel des Ereignisses idealerweise "Zahlung erfolgreich" sein, anstatt die Zeit für "Rechnung generiert".

ZEITSTEMPEL VON

In Azure Stream Analytics verfügen alle Ereignisse über einen klar definierten Zeitstempel. Wenn der Benutzer Anwendungszeit verwenden möchte, kann er das SCHLÜSSELwort TIMESTAMP BY verwenden, um die Spalte in der Nutzlast anzugeben, die zum Zeitstempel jedes eingehenden Ereignisses verwendet werden soll, um eine zeitliche Berechnung wie Windowing, Joins usw. durchzuführen. Wir empfehlen die Verwendung von TIMESTAMP BY über die Ankunftszeit als bewährte Methode. TIMESTAMP BY kann für jede Spalte vom Typ "datetime" verwendet werden, und alle ISO 8601-Formate werden unterstützt. System.Timestamp() kann nur in Select verwendet werden.

Es folgt ein TIMESTAMP BY-Beispiel, das die EntryTime-Spalte als Anwendungszeit für Ereignisse verwendet:

  
SELECT TollId, EntryTime AS VehicleEntryTime, LicensePlate, State, Make, Model, VehicleType, VehicleWeight, Toll, Tag   
FROM TollTagEntry TIMESTAMP BY EntryTime  
  

Feldname Groß-/Kleinschreibung

Feldnamen für einen Auftrag, der mithilfe der Kompatibilitätsebene 1.0 erstellt wird, werden bei verarbeitung durch das Azure Stream Analytics-Modul in Kleinbuchstaben (Groß-/Kleinschreibung nicht beachtet) geändert. Bei Eingabeformaten, die das Schema der Groß-/Kleinschreibung unterstützen, z. B. JSON, können Sie Ereignisse erstellen, die doppelte Felder aufweisen, wenn Feldnamen in einer Unempfindlichkeitsfunktion verglichen werden. Solche Ereignisse gelten als ungültige Ereignisse und werden während der Verarbeitung verworfen.

Die Groß-/Kleinschreibung wird für Feldnamen beibehalten, wenn der Stream Analytics-Auftrag mithilfe der Kompatibilitätsstufe 1.1 oder höher erstellt wird. Weitere Informationen finden Sie im Thema " Kompatibilitätsstufe konfigurieren ".

In diesem Abschnitt

In den folgenden Themen finden Sie Anleitungen zur Verwendung der Stream Analytics-Abfragesprache.

Siehe auch