如何将Eclipse Ditto连接至MongoDB云数据库实例
关于Eclipse Ditto连接云托管MongoDB的配置说明
- 仅配置
MONGO_DB_URI即可正常使用,该参数是唯一必填配置项
剩余的MONGO_DB_READ_PREFERENCE、MONGO_DB_WRITE_CONCERN均为可选调优参数,非必填。Ditto默认的参数取值就是primary和majority,和你当前配置的参数值完全一致,不需要额外调整。 - 云MongoDB URI配置注意事项
你当前使用的srv格式URI需要满足以下要求才能正常解析:- 云MongoDB实例已开启SRV解析支持,若未开启需要替换为标准
mongodb://格式,补全端口、副本集名称等参数 - URI中携带的账号需要拥有目标库的读写、创建索引、创建集合的全权限
- 建议在URI末尾拼接Ditto专用的数据库名,示例:
mongodb+srv://username:pass@IP/ditto,避免默认使用admin库出现权限冲突 - 若账号密码包含
@、/、:等特殊字符,需要先做URL编码再填入URI,否则会导致解析失败
- 云MongoDB实例已开启SRV解析支持,若未开启需要替换为标准
- docker-compose配置核对
你移除内置MongoDB服务后,需要确认docker-compose.yml中Ditto的所有核心服务(things、policies、things-search、connectivity等)的environment配置块中,已经添加了MongoDB相关环境变量的引用,示例配置如下:environment: - MONGO_DB_URI=${MONGO_DB_URI} - MONGO_DB_READ_PREFERENCE=${MONGO_DB_READ_PREFERENCE} - MONGO_DB_WRITE_CONCERN=${MONGO_DB_WRITE_CONCERN} - 启动验证
执行启动命令后,先查看服务日志是否存在MongoDB连接报错,无报错的话可以尝试创建一个数字孪生或策略,登录云MongoDB实例查看对应数据库中是否有数据生成,即可确认连接配置生效。
内容的提问来源于stack exchange,提问作者Alan Dsilva
相关产品推荐
相关产品推荐

