我正在使用 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/