azure - Azure serviceBusService 未处理的异常

标签 azure azure-mobile-services azure-servicebus-queues

我正在尝试从 Azure 移动服务中的 API 函数发送 serviceBusQueue 消息,即使它成功创建了queueService并且队列存在,我还是收到了一个令人讨厌的异常。知道如何解决这个问题吗?

我已附上发送代码和堆栈跟踪。

function sendBusMessage(request, params, message, success)
{
  console.log(params);
  var queueService = azure.createServiceBusService(params.namespace,params.key);
  console.log(queueService);
  if (queueService)
  {
    queueService.sendQueueMessage('worker', message, function (error) 
    {
        if (!error) 
        {
            success();
        }
        else 
        {
            request.respond(statusCodes.INTERNAL_SERVER_ERROR,error);
        }
    });
  }
}

异常堆栈:

发生未处理的异常。类型错误:无法将属性“body”设置为 null 在 ServiceClient._performRequest.self._buildRequestOptions.operation (D:\home\site\wwwroot\node_modules\azure\lib\services\core\serviceclient.js:210:34) 在 ServiceClient._performRequest (D:\home\site\wwwroot\node_modules\azure\lib\services\core\serviceclient.js:264:7) 在 ServiceBusService.ServiceClient._initDefaultFilter.filter (D:\home\site\wwwroot\node_modules\azure\lib\services\core\serviceclient.js:534:7) 在 ServiceClient._performRequest (D:\home\site\wwwroot\node_modules\azure\lib\services\core\serviceclient.js:261:10) 在 ServiceBusServiceClient._buildRequestOptions (D:\home\site\wwwroot\node_modules\azure\lib\services\core\servicebusserviceclient.js:107:5) 在 Wrap.signRequest (D:\home\site\wwwroot\node_modules\azure\lib\services\serviceBus\wrap.js:69:5) 在 WrapTokenManager.getAccessToken (D:\home\site\wwwroot\node_modules\azure\lib\services\serviceBus\wraptokenmanager.js:76:5) 在 WrapService.wrapAccessToken.finalCallback (D:\home\site\wwwroot\node_modules\azure\lib\services\serviceBus\wrapservice.js:98:7) 在 ServiceClient._initDefaultFilter.filter (D:\home\site\wwwroot\node_modules\azure\lib\services\core\serviceclient.js:538:11) 在 WrapService.wrapAccessToken.processResponseCallback (D:\home\site\wwwroot\node_modules\azure\lib\services\serviceBus\wrapservice.js:101:5)

最佳答案

命名空间

用于配置 Node.js 的命名空间是在Service Bus选项卡下可见的(非常简单)。

访问 key

不幸的是,它很容易与为特定消息传递功能实例(例如队列)定义的访问键混淆。提供无效的访问 key 可能会导致出现类似问题的堆栈跟踪。

用于配置 Node.js 的访问键是从连接信息窗口访问的键。要到达该位置,您需要导航到 Service Bus 主选项卡(带有云图标的选项卡),然后单击位于的栏上的Connection Information 按钮。底部。它是 DEFAULT ISSUER 部分正下方的 Default Key

配置命名空间和访问 key

命名空间访问 key 都可以直接传递给azure.createServiceBusService()函数,或者(配置移动服务时)通过应用设置配置部分中的AZURE_SERVICEBUS_NAMESPACEAZURE_SERVICEBUS_ACCESS_KEY键进行设置。

关于azure - Azure serviceBusService 未处理的异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25334529/

相关文章:

.net - 当我使用 SAML 连接到 Windows Azure Active Directory 时,始终显示 ACS75005 "The request is not a valid SAML2 protocol message."

azure - 如何使用 New-AzADSpCredential 添加证书凭据

javascript - 将 sql 对象转换为 node.js 中的有效 Json 字符串 - Azure

azure - 将同一域指向 Azure 中的不同应用服务

c# - 与本地数据库和azure移动服务同步

azure - 如何在失败时保持 Azure 服务总线消息队列处理?

javascript - Azure WebApp 中的环境变量与 Node.js

azure - 如何在 Azure Functions 中对 HTTP POST 执行模型绑定(bind)?

azure - 如何配置 KEDA 以根据 Azure 服务总线触发器中的元数据创建容器

Azure函数应用程序: Can I put maxConcurrentSessions settings in Application settings Configuration like service bus configuration