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

Azure函数通过az-cli部署后无法用Python读取CosmosDB数据

问题分析与解决

报错根源

函数运行触发的TypeError: not all arguments converted during string formatting,完全是因为这行日志代码的参数使用错误:

logging.info("++++++++",json.dumps(item, indent=True))

logging.info()的第一个参数是格式化模板字符串,第二个及以后的参数是用来填充模板占位符的变量。你直接传入两个独立字符串且无对应占位符,导致格式化逻辑失败。

修复方案

将日志语句改成以下两种正确写法之一:

  • 字符串拼接方式:
logging.info("++++++++" + json.dumps(item, indent=True))
  • 格式化占位符方式:
logging.info("++++++++ %s", json.dumps(item, indent=True))

部署环境差异说明

本地运行、VSCode部署时未触发报错,是因为不同环境的logging模块对参数错误的容错机制不同——这两个环境默认忽略了这类参数不匹配问题,而Azure Functions Core Tools部署的环境会严格校验参数格式,直接抛出错误。

另外,VSCode部署的传统文件结构(__init__.py+function.json)和Core Tools的v2模型结构(function_app.py+host.json)本身不会导致该问题,只是错误在后者环境中被暴露出来而已。

内容的提问来源于stack exchange,提问作者Ravi kant Gautam

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.07 03:32:40