C# Azure CosmosDB C函数在几天前就开始工作了-现在它没有-“错误索引方法”

C# Azure CosmosDB C函数在几天前就开始工作了-现在它没有-“错误索引方法”,c#,azure,azure-functions,azure-cosmosdb,C#,Azure,Azure Functions,Azure Cosmosdb,我有一个简单的C HttpTrigger Azure函数,用于从CosmosDB检索数据: 名称空间urda { 公共静态类GetAccount { [FunctionNameGetAccount] 公共静态结果运行 [HttpTrigger 授权级别。匿名, 收到 Route=account/{id}]HttpRequest请求, [CosmosDB 乌尔达德莫, 账户 ConnectionStringSetting=CosmosDBConnection, SqlQuery=从帐户a中选择*,

我有一个简单的C HttpTrigger Azure函数,用于从CosmosDB检索数据:

名称空间urda { 公共静态类GetAccount { [FunctionNameGetAccount] 公共静态结果运行 [HttpTrigger 授权级别。匿名, 收到 Route=account/{id}]HttpRequest请求, [CosmosDB 乌尔达德莫, 账户 ConnectionStringSetting=CosmosDBConnection, SqlQuery=从帐户a中选择*,其中a.id={id}] i数不清的账目, 伊洛格测井 { log.LogInformationC HTTP触发器函数处理了一个请求。; 帐户中的每个帐户 { log.LogInformationaccount.id; } 返回新的OkObjectResultaccounts; } } } 直到几天前,该函数在11月22日最后一次检查之前一直运行良好,但现在没有。它给了我以下的错误

函数Urda/GetAccount错误:Microsoft.Azure.WebJobs.Host:索引方法“GetAccount”时出错。Microsoft.Azure.WebJobs.Host:无法将参数“accounts”绑定到IEnumerable“1”类型。确保绑定支持该参数类型。如果您正在使用绑定扩展,例如Azure存储、ServiceBus、计时器等。请确保已在启动代码中调用扩展的注册方法,例如builder.AddAzureStorage、builder.AddServiceBus、builder.AddTimers等


我没有更改任何内容,也没有重新部署函数,也不知道为什么会出现此错误?确保在启动代码(例如builder.AddAzureStorage…)中调用了扩展的注册方法是什么意思?

我使用Visual Studio重新创建并重新部署了这些函数,效果很好。通过对工件的比较,我发现我的Visual Studio代码项目和Visual Studio项目之间的唯一区别在于host.json:

{
    "version": "2.0",
-    "extensionBundle": {
-        "id": "Microsoft.Azure.Functions.ExtensionBundle",
-        "version": "[1.*, 2.0.0)"
-    }
}

不再需要标有-的行。这解决了问题。但在以前的部署中,这些线路都在,一切都很好。如图所示。

我怀疑这可能是一条错误消息掩盖了连接到CosmosDB的问题。你能确认你有一个“CosmosDBConnectionIn”应用程序设置,并且它仍然有一个有效的连接字符串吗?我想,在您将Microsoft.Azure.WebJobs.Extensions.CosmosDb扩展安装到项目中之前,您的应用程序是否能够“知道”如何与Cosmos对话?