如何设置Azure Service Bus超时

时间:2017-11-02 05:17:57

标签: node.js azure azureservicebus

我正在使用node.js的Azure Service Bus SDK。我在sendQueueMessage中收到CONNECTIONTIMEDOUT错误。我想延长超时时间,但我可以在哪里配置它。任何人都可以帮助我吗?

1 个答案:

答案 0 :(得分:0)

您可以使用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没有带OpertaionsTimeout属性的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