如何使用javascript在azure functionapp中使用servicebus主题会话

时间:2017-05-15 14:39:49

标签: javascript azure session servicebus azure-servicebus-topics

我有一个Azure Functionapp,它处理一些数据并将该数据推送到Azure servicebus主题。

我要求在我的servicebus主题订阅上启用会话。在使用javascript functionapp API时,我似乎无法找到设置会话ID的方法。

以下是我的功能应用程序的修改后的摘录:

module.exports = function (context, streamInput) {
  context.bindings.outputSbMsg = [];
  context.bindings.logMessage = [];

  function push(response) {
      let message = {
          body: CrowdSourceDatum.encode(response).finish()
          , customProperties: {
              protoType: manifest.Type
              , version: manifest.Version
              , id: functionId
              , rootType: manifest.RootType
        }
        , brokerProperties: {
            SessionId: "1"
        }
    context.bindings.outputSbMsg.push(message);
  }

  .......... some magic happens here.

  push(crowdSourceDatum);
  context.done();
} 

但是sessionId似乎根本没有设置。关于如何实现这一点的任何想法?

deadletter error

message properties

1 个答案:

答案 0 :(得分:1)

我在我的函数上测试了sessionid,我可以设置消息的session id属性并在Service Bus资源管理器中查看它。这是我的示例代码。

const foo = 123;
if (true) {
    const foo = 456; // Allowed as its a new variable limited to this `if` block
}

这是测试结果。

enter image description here

请确保在创建主题和订阅时启用了分区和会话。

enter image description here