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

azure函数可以监听任何服务总线主题/订阅

傅增
2023-03-14
{
  "bindings": [
    {
      "name": "mySbMsg",
      "type": "serviceBusTrigger",
      "direction": "in",
      "topicName": "ftopic1",
      "subscriptionName": "mysub",
      "connection": "collosysazfuncsb_RootManageSharedAccessKey_SERVICEBUS",
      "accessRights": "Manage"
    }
  ],
  "disabled": false
}

然后在run.csx中您只会收到消息

public static void Run(string message, TraceWriter log)
{
    log.Info($"message: {message}");
}

有没有一种方法可以使用azure函数监听任何主题/订阅,然后接收topicName&subscriptionName作为run方法中的参数。

将topic-name作为*没有帮助,而且在run中也没有提供topic-name。

共有1个答案

孙承
2023-03-14

Azure函数只允许侦听单个队列或订阅。它不允许侦听多个实体(队列或订阅),因为Azure服务总线客户端不支持这一点。相反,正如所指出的,您可以利用Azure服务总线的自动转发特性。代理将把任何消息转发到目标主题/队列,并且您将有一个Azure函数的队列供其提要。

需要注意的是,自动转发的消息不会携带任何允许识别它们从哪个队列/订阅发起的信息。这只可能发生在无字母的消息中。

由于您对主题感兴趣,您可以通过对订阅规则执行操作来“解决”这个问题,该操作将使用自定义属性标记消息。例如,有3个主题,每个主题都带有默认订阅,一个默认筛选器带有规则操作

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

  • 这似乎是最简单的解决办法。让我们看看流程: 第三方向RESTful API发送请求,以获取Windows Azure服务总线连接字符串-凭据-。 一旦拥有连接字符串,第三方就会连接到Windows服务总线,并开始从某个主题订阅接收消息。注意:连接字符串是在服务器端加密的,只能由接受的客户端解密。 优点 null null 第三方请求一个类似于RESTful的TCP API,以便订阅一些Window

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

  • 我们使用服务总线主题作为pub/sub系统的引擎。我们的逻辑涉及我们的NodeJS服务用多个订阅连接到一个主题。对于每个订阅,我们删除$default(TrueFilter),并在消息头的Label属性上创建一个CorrelationFilter,并且不在订阅中应用AutoDeleteOnIdle设置,因为我们希望确保订阅服务器功能在服务启动之前一直运行。 这个问题可以归结为这样:某件事能导致规则

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

  • 来自第三次订阅的消息会发生什么情况,是否会在TTL之后发送到死信队列 有没有办法找出消息未被使用的订阅