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

NodeJS通过连接字符串创建CosmosClient时连接CosmosDB失败

解决CosmosClient实例化时的"Cannot read properties of undefined (reading 'endpoint')"错误

可能的原因及解决步骤

1. 环境变量未正确加载或读取

  • React项目中自定义环境变量必须以REACT_APP_为前缀(如REACT_APP_COSMOS_CONN_STR),否则会被React自动忽略
  • 确认.env文件放在项目根目录,且修改环境变量后已重启npm start服务(环境变量生效需要重启开发服务)
  • 先在代码中打印环境变量值,验证是否读取成功:
    console.log(process.env.REACT_APP_COSMOS_CONN_STR); // 确认输出完整的连接字符串
    

2. CosmosClient实例化方式错误

确保直接传入连接字符串初始化客户端,而非传入未正确赋值的配置对象:
正确写法:

import { CosmosClient } from "@azure/cosmos";

const connectionString = process.env.REACT_APP_COSMOS_CONN_STR;
const client = new CosmosClient(connectionString); // 直接传入完整连接字符串

错误写法(会触发该报错):

// 错误:传入空对象或未解析的不完整配置
const client = new CosmosClient({});
// 或错误拆分连接字符串导致endpoint/key为undefined

3. 检查@azure/cosmos包版本

部分旧版本存在连接字符串解析bug,执行命令升级到最新稳定版:

npm install @azure/cosmos@latest

4. 验证连接字符串格式

确认连接字符串格式正确,末尾分号可保留或省略,标准格式示例:

AccountEndpoint=https://ACCNAME.documents.azure.com:443/;AccountKey=YOUR_ADMIN_KEY_HERE

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.25 06:02:50