2017-12-19 1 views
0

IWie kann ich auslösen azur Service-Bus-Abonnement von URL oder azur Funktion

nach https://docs.microsoft.com/en-us/rest/api/servicebus/send-message-batch einen Servicebus als Webhook verwenden mag ich den Service Post-Anforderung zugreifen kann, aber ich brauche eine Authentifizierung hinzufügen, das ist nicht möglich für den Webhook, den ich verwende

Ich dachte, ich könnte eine Zwischenschicht mit Azure-Funktion hinzufügen, so dass im Grunde die Azure-Funktion ist der Webhook und es leitet die Nachricht an den Servicebus, aber ich kann nicht Microsoft. Azure.ServiceBus in azure Funktion, so kann ich das auch nicht tun

Ist da Eine einfache Art und Weise wie ich die Nachricht an den Servicebus weiterleiten kann?

+0

Was meinst du mit "Trigger azur Service-Bus-Abonnement"? Möchten Sie einem Service Bus-Thema eine Nachricht hinzufügen? –

Antwort

0

hinzufügen Andrés Nava - .NET Wenn Sie keine vorkompilierte Azure-Funktion verwenden und auf externe Baugruppen verweisen möchten, können Sie #r "AssemblyName" verwenden. 1

  • Newtonsoft.Json
  • Microsoft.WindowsAzure: wir könnten mehr Informationen von Azure Functions C# script developer reference.

    Die folgenden Baugruppen mit einfachen Namen Bezug genommen werden können (zum Beispiel #r "Assembly") erhalten .Speicherung

  • Microsoft.ServiceBus
  • Microsoft.AspNet.WebHooks.Receivers
  • Microsoft.AspNet.WebHooks.Common
  • Microsoft.Azure.NotificationHubs
0

Schauen Sie sich ein Beispiel an, das eine HTTP-getriggerte Funktion (Ihr Webhook) ist und dann auf den Servicebus schreibt. Kurze Anmerkung: In ihrem Beispiel, sie die Funktion der Rückgabewert als Nachricht in Service Bus schreiben, möchten Sie wahrscheinlich eine Ausgabe verwenden Bindung:

https://docs.microsoft.com/en-us/azure/azure-functions/functions-bindings-service-bus#output

[FunctionName("ServiceBusOutput")] 
[return: ServiceBus("myqueue", Connection = "ServiceBusConnection")] 
public static string ServiceBusOutput([HttpTrigger] dynamic input, TraceWriter log) 
{ 
    log.Info($"C# function processed: {input.Text}"); 
    return input.Text; 
} 
+1

Rückgabewert ist eine Ausgabe Bindung – Mikhail

+0

Wissen Sie, was ich hinzufügen muss, um dies auszuführen? Ich habe dieses Beispiel versucht, aber wie gesagt, ich kann Microsoft.Azure.xxxx nicht einschließen es gibt mir eine Reihe von Fehlern – demalegabi

+0

Ich habe es kompilieren, aber es gibt mir eine Fehlermeldung, es fehlt Trigger "Req", ich nehme an, es braucht ein req param bei Verwendung einer http azure Funktion. Gibt es ein vollständiges Arbeitsbeispiel, auf das ich mich beziehen könnte? – demalegabi