You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Azure Functions Python v2 CosmosDB输入绑定缺失connection参数报错求助

问题解决:Azure Function Python v2 Cosmos DB绑定报错"missing 'connection'参数"

错误原因

你使用的是Python v2编程模型,但代码里沿用了v1模型的connection_string_setting参数名。在v2模型中,Cosmos DB输入绑定的连接配置参数已更名为connection,因此触发了参数缺失的报错。

修正后的代码

将connection_string_setting替换为connection即可解决问题,同时补充类型注解和序列化处理避免后续报错,修正后的代码如下:

import azure.functions as func
import logging
import json

app = func.FunctionApp(http_auth_level=func.AuthLevel.FUNCTION)

@app.function_name(name="system")
@app.route(route="system")
@app.cosmos_db_input(arg_name="documents", 
                     database_name="database",
                     container_name="systems",
                     connection="DATABASE_CONNECTION_STRING")  # 修改参数名
def system(req: func.HttpRequest, documents: func.DocumentList) -> func.HttpResponse:
    logging.info('Python HTTP trigger function processed a request.')
    # 将DocumentList转换为可JSON序列化的字典列表
    docs_list = [doc.to_dict() for doc in documents]
    return func.HttpResponse(
        json.dumps(docs_list),
        mimetype="application/json",
        status_code=200
    )

额外注意事项

  • 确保local.settings.json的Values节点下存在DATABASE_CONNECTION_STRING,且值为你的Cosmos DB账户连接字符串:
    {
      "IsEncrypted": false,
      "Values": {
        "AzureWebJobsStorage": "你的存储账户连接字符串",
        "FUNCTIONS_WORKER_RUNTIME": "python",
        "DATABASE_CONNECTION_STRING": "你的Cosmos DB连接字符串"
      }
    }
    
  • 确认azure-functions包版本支持v2模型,可通过pip install --upgrade azure-functions更新到最新稳定版。
  • 必须为documents参数添加func.DocumentList类型注解,否则函数无法正确识别绑定的Cosmos DB数据。

内容的提问来源于stack exchange,提问作者Gavin Cookman

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.09 20:08:29