我正在使用 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 没有具有 OperataionsTimeout 属性的 MessagingFactorySettings 类。

我们可以通过 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

关于node.js - 如何设置 Azure 服务总线超时,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/47068086/

10-09 20:27
查看更多