服务总线输出绑定在Azure中不工作

服务总线输出绑定在Azure中不工作,azure,azure-functions,azureservicebus,azure-queues,Azure,Azure Functions,Azureservicebus,Azure Queues,我有一个nodejs应用程序。有3个函数和2个HTTP调用 以下是HTTP路由的my function.json: { "bindings": [ { "authLevel": "function", "type": "httpTrigger", "direction": "in", "n

我有一个nodejs应用程序。有3个函数和2个HTTP调用

以下是HTTP路由的my function.json:

{
  "bindings": [
    {
      "authLevel": "function",
      "type": "httpTrigger",
      "direction": "in",
      "name": "req",
      "methods": ["post"]
    },
    {
      "type": "http",
      "direction": "out",
      "name": "res"
    },
    {
      "name": "firstStep",
      "type": "serviceBus",
      "queueName": "firststepqueue",
      "connection": "MyServiceBus",
      "direction": "out"
    }
  ],
  "scriptFile": "../dist/firstStep/index.js"
}
在这里,当我想绑定时:

context.bindings.firstStep = message;
context.res = {
    status: 200,
    body: {"message": "success"},
    headers: {
        'Content-Type': 'application/json'
    }
};
context.done();
但这些队列在Azure中不起作用

当我运行
func start
时,它在本地运行


没有错误

无需指定脚本文件

以下内容适用于本地和我这边的azure:

index.js

module.exports = async function (context, req) {
    context.log('JavaScript HTTP trigger function processed a request.');

    var message = 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx';
    context.log(message);   
    context.bindings.firstStep = message;
    context.res = {
        // status: 200, /* Defaults to 200 */
        body: "test"
    };
}
{
  "bindings": [
    {
      "authLevel": "anonymous",
      "type": "httpTrigger",
      "direction": "in",
      "name": "req",
      "methods": [
        "get",
        "post"
      ]
    },
    {
      "type": "http",
      "direction": "out",
      "name": "res"
    },
    {
      "name": "firstStep",
      "type": "serviceBus",
      "queueName": "firststepqueue",
      "connection": "MyServiceBus",
      "direction": "out"
    }
  ]
}
{
  "IsEncrypted": false,
  "Values": {
    "AzureWebJobsStorage": "",
    "FUNCTIONS_WORKER_RUNTIME": "node",
    "MyServiceBus":"Endpoint=sb://bowman1012.servicebus.windows.net/;SharedAccessKeyName=RootManageSharedAccessKey;SharedAccessKey=xxxxxx"
  }
}
{
  "version": "2.0",
  "logging": {
    "applicationInsights": {
      "samplingSettings": {
        "isEnabled": true,
        "excludedTypes": "Request"
      }
    }
  },
  "extensionBundle": {
    "id": "Microsoft.Azure.Functions.ExtensionBundle",
    "version": "[1.*, 3.1.0)"
  }
}
function.json

module.exports = async function (context, req) {
    context.log('JavaScript HTTP trigger function processed a request.');

    var message = 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx';
    context.log(message);   
    context.bindings.firstStep = message;
    context.res = {
        // status: 200, /* Defaults to 200 */
        body: "test"
    };
}
{
  "bindings": [
    {
      "authLevel": "anonymous",
      "type": "httpTrigger",
      "direction": "in",
      "name": "req",
      "methods": [
        "get",
        "post"
      ]
    },
    {
      "type": "http",
      "direction": "out",
      "name": "res"
    },
    {
      "name": "firstStep",
      "type": "serviceBus",
      "queueName": "firststepqueue",
      "connection": "MyServiceBus",
      "direction": "out"
    }
  ]
}
{
  "IsEncrypted": false,
  "Values": {
    "AzureWebJobsStorage": "",
    "FUNCTIONS_WORKER_RUNTIME": "node",
    "MyServiceBus":"Endpoint=sb://bowman1012.servicebus.windows.net/;SharedAccessKeyName=RootManageSharedAccessKey;SharedAccessKey=xxxxxx"
  }
}
{
  "version": "2.0",
  "logging": {
    "applicationInsights": {
      "samplingSettings": {
        "isEnabled": true,
        "excludedTypes": "Request"
      }
    }
  },
  "extensionBundle": {
    "id": "Microsoft.Azure.Functions.ExtensionBundle",
    "version": "[1.*, 3.1.0)"
  }
}
local.settings.json

module.exports = async function (context, req) {
    context.log('JavaScript HTTP trigger function processed a request.');

    var message = 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx';
    context.log(message);   
    context.bindings.firstStep = message;
    context.res = {
        // status: 200, /* Defaults to 200 */
        body: "test"
    };
}
{
  "bindings": [
    {
      "authLevel": "anonymous",
      "type": "httpTrigger",
      "direction": "in",
      "name": "req",
      "methods": [
        "get",
        "post"
      ]
    },
    {
      "type": "http",
      "direction": "out",
      "name": "res"
    },
    {
      "name": "firstStep",
      "type": "serviceBus",
      "queueName": "firststepqueue",
      "connection": "MyServiceBus",
      "direction": "out"
    }
  ]
}
{
  "IsEncrypted": false,
  "Values": {
    "AzureWebJobsStorage": "",
    "FUNCTIONS_WORKER_RUNTIME": "node",
    "MyServiceBus":"Endpoint=sb://bowman1012.servicebus.windows.net/;SharedAccessKeyName=RootManageSharedAccessKey;SharedAccessKey=xxxxxx"
  }
}
{
  "version": "2.0",
  "logging": {
    "applicationInsights": {
      "samplingSettings": {
        "isEnabled": true,
        "excludedTypes": "Request"
      }
    }
  },
  "extensionBundle": {
    "id": "Microsoft.Azure.Functions.ExtensionBundle",
    "version": "[1.*, 3.1.0)"
  }
}
host.json

module.exports = async function (context, req) {
    context.log('JavaScript HTTP trigger function processed a request.');

    var message = 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx';
    context.log(message);   
    context.bindings.firstStep = message;
    context.res = {
        // status: 200, /* Defaults to 200 */
        body: "test"
    };
}
{
  "bindings": [
    {
      "authLevel": "anonymous",
      "type": "httpTrigger",
      "direction": "in",
      "name": "req",
      "methods": [
        "get",
        "post"
      ]
    },
    {
      "type": "http",
      "direction": "out",
      "name": "res"
    },
    {
      "name": "firstStep",
      "type": "serviceBus",
      "queueName": "firststepqueue",
      "connection": "MyServiceBus",
      "direction": "out"
    }
  ]
}
{
  "IsEncrypted": false,
  "Values": {
    "AzureWebJobsStorage": "",
    "FUNCTIONS_WORKER_RUNTIME": "node",
    "MyServiceBus":"Endpoint=sb://bowman1012.servicebus.windows.net/;SharedAccessKeyName=RootManageSharedAccessKey;SharedAccessKey=xxxxxx"
  }
}
{
  "version": "2.0",
  "logging": {
    "applicationInsights": {
      "samplingSettings": {
        "isEnabled": true,
        "excludedTypes": "Request"
      }
    }
  },
  "extensionBundle": {
    "id": "Microsoft.Azure.Functions.ExtensionBundle",
    "version": "[1.*, 3.1.0)"
  }
}
Azure上的配置设置

module.exports = async function (context, req) {
    context.log('JavaScript HTTP trigger function processed a request.');

    var message = 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx';
    context.log(message);   
    context.bindings.firstStep = message;
    context.res = {
        // status: 200, /* Defaults to 200 */
        body: "test"
    };
}
{
  "bindings": [
    {
      "authLevel": "anonymous",
      "type": "httpTrigger",
      "direction": "in",
      "name": "req",
      "methods": [
        "get",
        "post"
      ]
    },
    {
      "type": "http",
      "direction": "out",
      "name": "res"
    },
    {
      "name": "firstStep",
      "type": "serviceBus",
      "queueName": "firststepqueue",
      "connection": "MyServiceBus",
      "direction": "out"
    }
  ]
}
{
  "IsEncrypted": false,
  "Values": {
    "AzureWebJobsStorage": "",
    "FUNCTIONS_WORKER_RUNTIME": "node",
    "MyServiceBus":"Endpoint=sb://bowman1012.servicebus.windows.net/;SharedAccessKeyName=RootManageSharedAccessKey;SharedAccessKey=xxxxxx"
  }
}
{
  "version": "2.0",
  "logging": {
    "applicationInsights": {
      "samplingSettings": {
        "isEnabled": true,
        "excludedTypes": "Request"
      }
    }
  },
  "extensionBundle": {
    "id": "Microsoft.Azure.Functions.ExtensionBundle",
    "version": "[1.*, 3.1.0)"
  }
}

您好,有更新吗?谢谢您的回复,我需要定义“脚本文件”。因为我用的是打字脚本。当我没有脚本文件时,我会得到Microsoft.Azure.WebJobs.Script:未找到语言为[node]的函数。值不能为null。(参数“provider”)。