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

问题描述 投票:0回答:2

我想使用服务总线作为webhook

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

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

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

c# .net azure azure-functions azureservicebus
2个回答
0
投票

添加AndrésNava - .NET

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

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

  • Newtonsoft.Json
  • Microsoft.Windows azure.storage
  • Microsoft.ServiceBus
  • Microsoft.AspNet.WebHooks.Receivers
  • Microsoft.AspNet.WebHooks.Common
  • Microsoft.Azure.NotificationHubs

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;
}
© www.soinside.com 2019 - 2024. All rights reserved.