集成 Azure 服务总线主题和 Azure 函数

Integrating Azure Service Bus Topic and Azure Function

我创建了一个 Azure 函数 并选择 Azure 服务总线主题 作为 Visual Studio 中的触发器2019。我还在我的 Azure 帐户中创建了一个 Service Bus Topic 并具有 Primary Connection StringPrimary Key .

我的问题是:

  1. 如何将 Azure 服务总线 与我创建的 Azure 函数 集成?生成的代码中应更改哪些属性?
  2. 如何在我的机器上向本地 Azure 服务总线 主题发送消息?有没有像 SQL Management Studio 这样的应用程序可以连接到我的 Azure Service Bus 资源?
[FunctionName("Function1")]
public static void Run([ServiceBusTrigger("mytopic", "mysubscription", Connection = "ConnectionString")]string mySbMsg, ILogger log)
{
   log.LogInformation($"C# ServiceBus topic trigger function processed message: {mySbMsg}");
}

您必须更改树属性,并将它们添加到 local.settings.json: 您将拥有这样的触发器:

[ServiceBusTrigger(
                topicName: "%MyServiceBus.Topic%",
                subscriptionName: "%MyServiceBus.Subscription%",
                Connection = "MyServiceBus.Connection")]

你的 local.settings.json 是这样的:

 {  
  "Values": {
    "FUNCTIONS_WORKER_RUNTIME": "dotnet",
    "PriorityBoardingFare.Topic": "TestEvent",
    "PriorityBoardingFare.Subscription": "Appl1cation1",
    "PriorityBoardingFare.Connection": "Endpoint=sb://xxxxxxxxx.windows.net/;SharedAccessKeyName=xxxxxxd;SharedAccessKey=adasdasdasdasdasdasd"    
  },
  "Host": {
    "LocalHttpPort": 21094
  }
}

https://docs.microsoft.com/en-us/azure/azure-functions/functions-run-local?tabs=windows%2Ccsharp%2Cbash#local-settings-file

要发送或管理服务总线,您现在有两种选择:

  1. 这是我们在工作中使用的,它是一个管理 SB 的社区工具:https://github.com/paolosalvatori/ServiceBusExplorer
  2. 这是微软的工具:https://docs.microsoft.com/en-us/azure/service-bus-messaging/explorer