在VS2017中使用azure函数,无法将ServiceBus Queue绑定为输出

时间:2017-08-31 17:00:03

标签: c# azure visual-studio-2017 azure-functions

我正在运行Visual Studio v15.3并尝试创建Azure功能。我无法将输出绑定到服务总线队列。我启动时收到以下错误:

  

Microsoft.Azure.WebJobs.Host:错误索引方法   ' CreateRawTransactions.Run&#39 ;. Microsoft.Azure.WebJobs.Host:无法绑定   参数' outputSbQueue'键入String&amp ;.确保参数   绑定支持类型。如果您正在使用绑定扩展程序   (例如ServiceBus,计时器等)确保你已经打电话给   您的启动代码中的扩展名的注册方法(例如   config.UseServiceBus(),config.UseTimers()等。)。

我的function.cs代码......

public static class CreateRawTransactions
{
        [FunctionName("CreateRawTransactions")]
        public static HttpResponseMessage Run([HttpTrigger(AuthorizationLevel.Anonymous, "get", "post", Route = null)]HttpRequestMessage req, 
                                              TraceWriter log,
                                              [ServiceBus("outqueue", AccessRights.Manage, Connection = "ServiceBusConnection")] out string outputSbQueue)
        {
          outputSbQueue = "Hello ";
        }  
}

和function.json

{
  "bindings": [
    {
      "name": "outputSbQueue",
      "type": "serviceBus",
      "queueName": "testqueue",
      "connection": "ServiceBusConnection",
      "direction": "out",
      "accessRights": "listen"
    }
  ],
  "disabled": false

}

和local.settings.json

{
  "IsEncrypted": false,
  "Values": {
    "AzureWebJobsStorage": "",
    "AzureWebJobsDashboard": ""
  },
  "ConnectionStrings": {
    "ServiceBusConnection": "Endpoint=sb://..."

  }
}

作为更新,我将输入触发器从HttpTrigger更改为ServiceBusTrigger并且它可以正常工作。看起来它与使用HttpTrigger有关。

1 个答案:

答案 0 :(得分:0)

这听起来像https://github.com/Azure/azure-webjobs-sdk-script/pull/1804,并已修复。如果您获得更新的CLI,它应该可以工作。