2016-03-22 9 views
1

Ich arbeite an diesem Projekt, das EventHub -> Stream Analytics Job -> Storage Table/Blob Struktur verwendet und ich möchte ein paar Komponententests dafür schreiben.Unit Testing Azure EventHub, Stream Analytics Job und Storage Tabelle

Ich kann den EventHub Absender-Status testen, um zu sehen, ob Abfragen das erwartete Verhalten haben, aber wie kann ich überprüfen, ob die Daten an den Tabellenspeicher gesendet werden, da der gesamte Prozess nicht sofort passiert und es gibt eine hübsche lange Verzögerung von dem Moment an, in dem ich den EventHub anstecke und dem Moment, an dem die Daten im Speicher gespeichert werden.

Antwort

1

Erstellen Sie zuerst ein neues Azure Table-Speicherkonto, und erstellen Sie anschließend eine neue Azure-Tabelle in diesem Konto. Fügen Sie in Ihrem Stream Analytics-Job eine neue Ausgabe für den Tabellenspeicher hinzu. Wenn Sie die Ausgabedaten einrichten, müssen Sie das Speicherkonto, den Kontoschlüssel, den Tabellennamen und die Spaltennamen im Ereignis für die Azure Table-Partitions- und Zeilenschlüssel angeben. Als Beispiel stelle ich mein wie folgt auf:

Output details screenshot

Nachdem der Ausgabeeinstellung ist, können Sie eine einfache Stream-Analytics-Abfrage erstellen, die Eingabeereignisse von Event-Hub zum Azure Table Ausgabe abbildet. Ich habe auch eine Event-Hub-Eingabe namens 'eventhub' mit Send/Listen-Berechtigungen. Meine Abfrage sieht so aus:

An dieser Stelle klicken Sie im Azure-Portal auf die Schaltfläche "Start", um den Stream Analytics-Job auszuführen. Um die Ereignisse zu generieren, können Sie den Anweisungen here folgen, aber die Ereignisnachricht an das ändern:

string guid = Guid.NewGuid().ToString(); 
var message = "pk,rk,value\n" + guid + ",1,hello"; 
Console.WriteLine("{0} > Sending message: {1}", DateTime.Now, message); 
eventHubClient.Send(new EventData(Encoding.UTF8.GetBytes(message))); 

die Azure Table Ergebnisse Augapfel, laden Sie ein Tool wie TableXplorer und geben Sie die Speicherkontodaten. Doppelklicken Sie auf Ihre Azure-Tabelle und Sie sollten etwa Folgendes sehen. Denken Sie daran, dass Sie F5 in Ihrer TableXplorer-Abfrage möglicherweise 10-60 Sekunden lang drücken müssen, bis die Daten durchgelaufen sind. Wenn es auftaucht wird es wie folgt aussehen:

TableXplorer Screenshot

Für programmatische Einheit testen Sie die Partition Schlüssel/row Schlüsselwerte in Ihrem Event-Hub-Code in eine Datenstruktur erzeugt schieben müssen und einen Arbeiter haben Abfragen der Azure-Tabelle mithilfe von Punktabfragen Ein guter Überblick über die Verwendung von Azure Table ist here.

Verwandte Themen