Azure功能-';AzureWebJobs服务总线连接字符串';不见了

Azure功能-';AzureWebJobs服务总线连接字符串';不见了,azure,azure-functions,azure-functions-runtime,Azure,Azure Functions,Azure Functions Runtime,用例: 我有一个Azure函数,它将由“serviceBusTrigger”触发。按照最佳实践,我在“appsettings.json”中创建了Azure服务总线连接字符串,同样在Azure函数应用程序的应用程序设置中也创建了该字符串。一切都很好 现在,我想在本地运行该函数,并且像cli一样使用它 cd“我的功能文件夹路径” func运行。\myfunction.cs 问题 它开始了,但给出了一个错误 'Microsoft.Azure.WebJobs.Host:索引方法'Functions.so

用例:

我有一个Azure函数,它将由“serviceBusTrigger”触发。按照最佳实践,我在“appsettings.json”中创建了Azure服务总线连接字符串,同样在Azure函数应用程序的应用程序设置中也创建了该字符串。一切都很好

现在,我想在本地运行该函数,并且像cli一样使用它

cd“我的功能文件夹路径”

func运行。\myfunction.cs

问题

它开始了,但给出了一个错误

'Microsoft.Azure.WebJobs.Host:索引方法'Functions.someFunction'时出错。Microsoft.Azure.WebJobs.ServiceBus:Microsoft Azure WebJobs SDK服务总线连接字符串“AzureWebJobs服务总线连接字符串”缺失或为空

问题

1) 可以保留我的设置,并能够通过“cli”启动该功能 2) 如何解决此错误 旁注:我知道Azure函数是在webJob SDK之上构建的,这个错误有点神秘

附图显示了函数、function.json、appsettings.json的设置


谢谢你的帮助

我注意到您共享的图像有几个问题:

连接字符串通常位于应用程序设置文件的Connection strings对象中,例如:

{
  "IsEncrypted": false,
  "Values": {
    "appsetting1": "test"
  },
  "ConnectionStrings": {
    "SomeConnectionString": "connectionstring"
  }
}
函数.json
无效。绑定应该是一个数组,如:

{
    "bindings": [
        {
             ... ....
            "connection": "ConnectionName"
             ... ....
        }
    ]
}
您不能只指向
cs
文件来运行函数。 在运行函数时,仍希望您具有以下结构:

 root
  |
  +-- functionname
  |   |-- function.json
  |   \-- run.csx (if working with the CSX model/just code)
  |
  +-- host.json
  +-- local.settings.json
然后,您可以从根目录使用
func run
调用函数,其中functionname映射到文件夹名称

文件名不应该是问题,但应将其重命名为
local.settings.json
,因为它已更改


您可能还需要查看,因为将为您处理所有设置,并且仍然允许您使用命令运行,如创建的结构化,如果您愿意,可以使用CLI。

Fabio,感谢您的快速响应。从根文件夹运行它解决了这个问题(设置得到了正确的选择)。我的本地绑定是一个数组;然而,在形成一个示例(在屏幕截图中)时,我错过了数组括号。我有一种感觉,这是一个与您共享的内容有关的问题,而不是您设置的内容。只是想说出来以防万一。很高兴听到这项工作正在进行。