如何准备Cosmos DB for MongoDB (vCore)的ADF连接字符串?
解决Azure Data Factory连接Cosmos DB for MongoDB(vCore)的连接字符串配置问题
核心调整方案
针对ADF的MongoDB连接器,需对Cosmos DB提供的连接字符串做以下关键修改,即可解决连接失败问题:
1. 强制指定身份验证数据库
ADF的MongoDB连接器要求连接字符串中必须明确身份验证源数据库(默认使用admin库),即使目标数据库为空。在原连接字符串末尾添加&authSource=admin参数:
mongodb+srv://<user>:<password>@XYZ-cluster.mongocluster.cosmos.azure.com/?tls=true&authMechanism=SCRAM-SHA-256&retrywrites=false&maxIdleTimeMS=120000&authSource=admin
2. 切换为标准连接格式(可选)
若srv模式仍存在兼容性问题,可改用标准连接字符串格式,指定Cosmos DB MongoDB vCore的默认端口10255,并将tls参数替换为ssl:
mongodb://<user>:<password>@XYZ-cluster.mongocluster.cosmos.azure.com:10255/?ssl=true&authMechanism=SCRAM-SHA-256&retrywrites=false&maxIdleTimeMS=120000&authSource=admin
3. ADF链接服务配套配置
在ADF的MongoDB链接服务设置中:
- 数据库名称:填写你计划操作的目标数据库名称(若未创建,需先在Cosmos DB控制台创建空数据库)
- 身份验证类型:选择
Basic,确保用户名(集群名称)、密码与连接字符串中的<user>、<password>完全匹配 - TLS/SSL:保持开启状态,与连接字符串中的加密参数对应
排查要点
- 确认集成运行时(IR)网络连通性:使用托管IR需确保Cosmos DB防火墙允许Azure服务访问;使用自托管IR需验证集群地址可被IR所在网络访问
- 核对集群地址、用户名、密码:确保连接字符串中的主机名、用户名(集群名称)、管理员密码无拼写错误
- 检查参数格式:避免连接字符串中的特殊字符未转义(若密码包含
@、&等字符,需用URL编码替换)
内容的提问来源于stack exchange,提问作者michasaucer
相关产品推荐
相关产品推荐

