小编bri*_*ete的帖子

是否可以监听具有多个azure功能的服务总线?

我正在尝试侦听可以包含具有多种事件类型的消息的服务总线。当消息到达时,我想根据事件类型对其进行处理。我有 2 个 azure 函数来处理不同的事件类型消息,但是当一个函数接收到消息时,另一个函数不会被触发。是否可以同时触发它们并让它们决定由哪一个处理消息?

这是一些示例代码,它们位于两个独立的项目中:

[FunctionName("Function1")]
public async Task RunAsync(
    [ServiceBusTrigger("queueName", Connection = "connectionName")]
    Message message,
    MessageReceiver messageReceiver,
    ILogger log)
{
    var body = Encoding.Default.GetString(message.Body);
    var messageType = _helper.GetMessageType(body);

    if (messageType is not MessageType.Type1)
        return;

    // business logic
    await messageReceiver.CompleteAsync(message.SystemProperties.LockToken);
}

[FunctionName("Function2")]
public async Task RunAsync(
    [ServiceBusTrigger("queueName", Connection = "connectionName")]
    Message message,
    MessageReceiver messageReceiver,
    ILogger log)
{
    var body = Encoding.Default.GetString(message.Body);
    var messageType = _helper.GetMessageType(body);

    if (messageType is not MessageType.Type2)
        return;

    // business logic

    await messageReceiver.CompleteAsync(message.SystemProperties.LockToken);
}
Run Code Online (Sandbox Code Playgroud)

.net c# azure azureservicebus azure-functions

1
推荐指数
1
解决办法
1876
查看次数

标签 统计

.net ×1

azure ×1

azure-functions ×1

azureservicebus ×1

c# ×1