集成 Azure 服务总线主题和 Azure 函数
Posted
技术标签:
【中文标题】集成 Azure 服务总线主题和 Azure 函数【英文标题】:Integrating Azure Service Bus Topic and Azure Function 【发布时间】:2020-10-11 00:57:36 【问题描述】:我创建了一个 Azure 函数,并在 Visual Studio 2019 中选择了 Azure 服务总线主题作为触发器。我还在我的 Azure 帐户中创建了一个 Service Bus 主题,并拥有 Primary Connection String 和 Primary Key。
我的问题是:
-
如何将 Azure Service Bus 与我创建的 Azure Function 集成?生成的代码中应该更改哪些属性?
如何在我的机器上本地向 Azure 服务总线 主题发送消息?是否有类似 SQL Management Studio 的应用程序可以连接到我的 Azure 服务总线 资源?
[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");
【问题讨论】:
【参考方案1】:您必须更改树属性,并将它们添加到 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
要发送或管理服务总线,您现在有两种选择:
-
这是我们在工作中使用的,它是管理 SB 的社区工具:https://github.com/paolosalvatori/ServiceBusExplorer
这是微软的工具:https://docs.microsoft.com/en-us/azure/service-bus-messaging/explorer。
【讨论】:
按照您的建议更改属性设置后,它在本地工作。我现在在 Azure 中托管了该应用程序。我不知道在哪里可以找到log.LogInformation
调用写入的日志。任何帮助表示赞赏。
我使用 Application Insights 来做到这一点docs.microsoft.com/en-us/azure/azure-functions/…,但如果您不想启用它,您可以在 Kudu->DebugConsole->Powersell 上查看日志,然后您将有一个文件夹调用“日志文件”。以上是关于集成 Azure 服务总线主题和 Azure 函数的主要内容,如果未能解决你的问题,请参考以下文章
Azure 服务总线:使用函数、服务结构和 Web 作业? [关闭]