当前位置: 首页 > 知识库问答 >
问题:

集成Azure服务总线主题和Azure功能

汪泓
2023-03-14

我创建了一个Azure函数,并选择Azure服务总线主题作为Visual Studio 2019中的触发器。我还在Azure帐户中创建了服务总线主题,并具有主连接字符串和主键。

我的问题是:

  1. 如何将Azure服务总线与我创建的Azure函数集成?生成的代码中应该更改哪些属性?
  2. 如何在我的机器上本地向Azure服务总线主题发送消息?是否有任何类似SQLManagement 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个答案

娄学文
2023-03-14

您必须更改树属性,并将它们添加到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本地设置文件

要发送或管理服务总线,您现在有两个可用选项:

  1. 这是我们在我的工作中使用的,是管理SB的社区工具:https://github.com/paolosalvatori/ServiceBusExplorer
 类似资料:
  • 我想将一个小的JSON消息放入中。消息将具有附加到它的“ProviderID”属性,并且根据筛选规则,该消息将被筛选到特定于提供程序的上 但是,我似乎无法在上指定共享访问策略,以限制第三方提供商仅连接到他们自己的 我假设应该在订阅上设置以便将这些消息发送到另一个并在那里应用特定于提供程序的安全性,这样做是否正确。 或者有其他/更好的/推荐的方法来做这件事。

  • 参考https://github.com/Azure/azure-service-bus/tree/master/samples/dotnet/gettingstart/microsoft.Azure.servicebus/basicsendreceiveusingtopicsubscriptionclient,我了解Azure服务总线主题的一般工作方式,我的问题更多地是关于它实际上是如何工作的。

  • 这是关于的一般问题。在Azure中,当应用程序被放大时,如果订阅服务器被放大多次,Azure如何处理向该订阅服务器发送消息。图1显示了一个典型的情况,图2显示了我所说的场景: 默认情况下,Azure是否向所有实例发送相同的消息?或者Azure是否“聪明”到可以在实例之间负载平衡消息?如果没有,人们如何正常处理这种情况?我只想一个实例接收这个消息的情况下,它是缩放的。

  • 我的应用程序需要将消息发布到具有高吞吐量要求的数千个客户端(每秒数百条,可能1000+条消息),以便使本地客户端数据库与服务器数据库保持同步。每个服务器数据库操作都可能需要将消息发布到20个或更少客户端的位置。客户端只有其特定位置的数据库信息。数以千计的地点存在。 我的想法是使用Azure服务总线主题/订阅模型。每个客户机都将建立对数据库同步主题的订阅(和连接),并接收针对其位置的过滤消息。 但根

  • 我有一个名为“状态更改”的Azure服务总线主题,它有一个名为“混响”的订阅。我正在尝试使用设置订阅主题的方法,但出现错误: 我一直在使用这篇博客文章来尝试让一切正常运行:http://ramblingstechnical.blogspot.co.uk/p/using-azure-service-bus-with-spring-jms.html 我可以使用向主题添加消息,并使用Azure文档中概述

  • null 输出 谁能解释一下为什么会这样吗?这对我来说有点迷惑?