Azure Functions Python环境下CosmosDB输出绑定报错求助
问题根因
报错里的Input string was not in a correct format直接指向function.json里的无效配置项,结合扩展加载失败的提示,按以下步骤排查即可:
排查解决步骤
- 修正
function.json配置
你当前配置里的partitionKey、collectionThroughput字段填了字符串值"undefined",CosmosDB绑定扩展解析时会尝试将这两个字段转换为合法的分区键路径、数值吞吐量,"undefined"字符串不符合格式要求,直接触发格式错误。
如果你已经提前创建好了目标输出容器,不需要绑定自动创建容器,直接删除这两个字段即可,修复后的输出绑定配置参考:
如果需要绑定自动创建容器,将{ "type": "cosmosDB", "direction": "out", "name": "outdocs", "databaseName": "db-test", "collectionName": "out-collection", "connectionStringSetting": "dmcosmosdb_DOCUMENTDB" }partitionKey的值改为你容器实际的分区键路径(比如/id),collectionThroughput改为合法的吞吐量数值(比如400)即可。 - 修正扩展项目配置
你用的Microsoft.Azure.WebJobs.Extensions.CosmosDB 3.0.10适配Azure Functions v3运行时,把extensions.csproj里被注释的<AzureFunctionsVersion>v3</AzureFunctionsVersion>取消注释,同时确认你本地安装的Azure Functions Core Tools版本为v3,避免运行时和扩展版本不兼容。 - 验证连接配置
确认local.settings.json(本地运行)或者函数应用配置(云端运行)中存在dmcosmosdb_DOCUMENTDB项,值为完整的CosmosDB连接字符串,没有缺漏字段。 - 重新安装扩展
配置修改完成后重新执行func extensions install安装依赖,再启动函数测试即可。
内容的提问来源于stack exchange,提问作者Callum Matthews
相关产品推荐
相关产品推荐

