如何从URL或azure函数触发azure服务总线订阅

时间:2017-12-19 21:27:35

标签: c# .net azure azure-functions azureservicebus

我想将服务总线用作webhook

根据https://docs.microsoft.com/en-us/rest/api/servicebus/send-message-batch我可以使用帖子请求访问该服务但我需要添加一个对我正在使用的webhook不可能的身份验证

我以为我可以使用azure函数添加一个中间层,所以基本上azure函数是webhook并且它将消息转发到服务总线但是我不能在azure函数中包含Microsoft.Azure.ServiceBus所以我可以'也这样做

有没有一种简单的方法可以将消息转发到服务总线?

2 个答案:

答案 0 :(得分:0)

查看一个HTTP触发函数示例(您的webhook),然后写入服务总线。快速说明:在他们的示例中,他们将函数的返回值作为消息写入服务总线,您可能想要使用输出绑定:

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 :(得分:0)

添加AndrésNava - .NET

如果您没有使用预编译的azure函数并且想要引用外部程序集,则可以使用 #r“AssemblyName”。我们可以从Azure Functions C# script developer reference.

获取更多信息
  

以下程序集可以通过简单名称引用(例如,#r“AssemblyName”):1

     
      
  • Newtonsoft.Json
  •   
  • Microsoft.WindowsAzure.Storage
  •   
  • Microsoft.ServiceBus
  •   
  • Microsoft.AspNet.WebHooks.Receivers
  •   
  • Microsoft.AspNet.WebHooks.Common
  •   
  • Microsoft.Azure.NotificationHubs
  •