【问题标题】:How do I set the Lock Duration on a service bus topic through the service bus trigger code?如何通过服务总线触发代码设置服务总线主题的锁定持续时间?
【发布时间】:2021-07-30 18:43:49
【问题描述】:

我在这里找到了大量解释选项的信息 - LockDuration、AutoRenew 等 - 但我不知道如何通过代码进行设置?

我们通过代码创建服务总线主题。创建期间在哪里可以设置 LockDuration?
这是服务总线触发 azure 函数:

public static async Task Run(
                     [ServiceBusTrigger(SB_TOPIC_NAME, SB_MONITOR_SUBSCRIPTION_NAME, AccessRights.Manage, Connection = APP_SETTING_SERVICE_BUS_CONNECTION_STRING)]
                        BrokeredMessage sbMessage,
                      ILogger log) {

我尝试将它添加到 host.json,但它没有改变任何东西:

“服务总线”:{ “最大并发呼叫数”:1, "MaxLockDuration": "00:05:00", "autoRenewTimeout": "00:30:00", “自动完成”:真 }

这是我们的主题/订阅创建函数:

    public async Task<ITopicClient> GetTopicClient(string connectionString, string topicName)
    {
        var m = new ManagementClient(connectionString);
        var exists = await m.TopicExistsAsync(topicName);
        if (!exists)
        {
            await m.CreateTopicAsync(new TopicDescription(topicName));
        }
        var topicClient = new TopicClient(connectionString, topicName);
        return topicClient;
    }

    public async Task CreateSubscription(string connectionString, string topicName, string subsciptionName)
    {
        var m = new ManagementClient(connectionString);

        var exists = await m.SubscriptionExistsAsync(topicName, subsciptionName);
        if (!exists)
        {
            await m.CreateSubscriptionAsync(new SubscriptionDescription(topicName, subsciptionName));
        }
    }

非常感谢任何帮助!

【问题讨论】:

  • host.json 是设置这些值的正确位置。您使用的是哪个版本的 SB 扩展?在大多数版本中,json 看起来有点不同。 "serviceBus": { "sessionHandlerOptions": {"maxConcurrentCalls": 1, "MaxLockDuration": "00:05:00", "autoRenewTimeout": "00:30:00", "autoComplete": true }}docs.microsoft.com/en-us/azure/azure-functions/…

标签: azure-functions azure-servicebus-topics


【解决方案1】:

仅供参考 - 我发现在创建服务总线主题/订阅时我必须使用 SubscriptionDescription 类并设置锁定 - 它以后不会更新它

https://docs.microsoft.com/en-us/dotnet/api/microsoft.servicebus.messaging.subscriptiondescription

【讨论】:

    猜你喜欢
    • 2017-11-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-07-25
    • 1970-01-01
    • 2020-02-27
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多