2016-05-27 3 views
1

Ich habe eine Azure-Funktion aus der EventHub-Trigger-Vorlage erstellt. Aber ich habe mit zwei Problemen fest:Integrieren von Azure-Funktionen mit dem Ereignis-Hub

a) Wie die Verbrauchergruppe anders als Standard angeben?

b) Gibt es eine Möglichkeit, das gesamte EventData-Objekt und nicht nur die Nachrichtenzeichenfolge zu erhalten?

Antwort

4

Update: Consumer Group kann nun auch im Portal angegeben werden (das unten erwähnte Problem wurde behoben).

Für Ihre erste Frage haben wir eine Problemverfolgung, und wir werden bald darauf (Repo-Ausgabe here).

Für Ihre zweite Frage nehme ich an, dass Sie von unserer C# Vorlage ausgehen, die string verwendet, aber Sie können das in EventData ändern (wobei der Name des Parameters "evt" mit dem Namen übereinstimmt, den Sie in Ihrem gewählt haben) Bindung):

#r "Microsoft.ServiceBus" 

using System; 
using Microsoft.ServiceBus.Messaging; 

public static void Run(EventData evt, TraceWriter log) 
{ 
    var id = evt.Properties["id"]; 
    log.Info($"C# Event Hub trigger function processed event: {id}"); 
} 

Siehe EventHub Wikiseite here für weitere Informationen über mögliche Bindungen. Sie können auch auf viele andere Arten binden, zum Beispiel Ihre eigene POCO-Klasse, eine Reihe von Ereignissen usw.

+0

Vielen Dank! Die Signatur muss jedoch folgende sein, andernfalls schlägt die Kompilierung fehl. public static void Ausführen (EventData myEventHubMessage, TraceWriter log) – unconnected

+1

Nun, der Name des aktuellen Parameters variiert - es hängt von Ihnen ab, wann Sie Ihre Funktion einstellen. Meine Funktion verwendete "evt" als den Parameternamen. Ich werde mein Beispiel oben verdeutlichen. – mathewc