如何设置 Azure 服务总线超时

How to set Azure Service Bus timeout

我正在使用 node.js 的 Azure 服务总线 SDK。我在 sendQueueMessage 中收到 CONNECTIONTIMEDOUT 错误。我想延长超时时间,请问哪里可以设置呢?谁能帮帮我?

您可以使用 MessagingFactorySettings 更改超时:

    Uri serviceBusUri = ServiceBusEnvironment.CreateServiceUri("sb", "[serviceNamespace]", string.Empty);

    MessagingFactorySettings factorySettings = new MessagingFactorySettings()
    {
        TokenProvider = TokenProvider.CreateSharedAccessSignatureTokenProvider("[keyName]", "[sharedAccessKey]"),
        OperationTimeout = TimeSpan.FromSeconds(30),
    };

    MessagingFactory messagingFactory = MessagingFactory.Create(serviceBusUri, factorySettings);
    QueueClient Client = messagingFactory.CreateQueueClient("[QueueName]");

类似于 .NET 中的 Azure SDK,node.js 的 Azure SDK 没有 MessagingFactorySettings Class 和 OpertaionsTimeout 属性。

我们可以通过 REST API 调用实现相同的目的。我们需要做的就是将 Http 请求(使用 POST 动词)发送到主题并提及超时: https://{namespace}.{appfabric.windows.net}/{topicname}//messages?timeout=60

参考以下文档 -

azure-servicebus-topic-using-rest-api

peek-lock-message-non-destructive-read