带有图集的 FIWARE orion mongodb

FIWARE orion with atlas mongodb

您好,我正在尝试使用 atlas mongodb

启动 FIWARE orion 上下文代理
mongodb+srv://<user>:****************@<domainid>.mongodb.net/<aut_db>

我尝试了 docker 运行 命令的多种变体,但我从未获得成功的连接

跟踪:

$ docker run --name orion -p 1027:1026 fiware/orion:latest -dbhost "<domainid>.mongodb.net/<aut_db>?ssl=true&retryWrites=true&w=majority" -dbuser <user> -dbpwd U9NjLafksdv9mavW -logLevel DEBUG

time=2021-12-01T14:38:42.188Z | lvl=INFO | corr=N/A | trans=N/A | from=N/A | srv=N/A | subsrv=N/A | comp=Orion | op=contextBroker.cpp[1063]:main | msg=start command line </usr/bin/contextBroker -fg -multiservice -ngsiv1Autocast -disableFileLog -dbhost <domainid>.mongodb.net/<aut_db>?ssl=true&retryWrites=true&w=majority -dbuser <user> -dbpwd ****** -logLevel DEBUG>
time=2021-12-01T14:38:42.188Z | lvl=INFO | corr=N/A | trans=N/A | from=N/A | srv=N/A | subsrv=N/A | comp=Orion | op=contextBroker.cpp[1137]:main | msg=Orion Context Broker is running
time=2021-12-01T14:40:23.011Z | lvl=ERROR | corr=N/A | trans=N/A | from=N/A | srv=N/A | subsrv=N/A | comp=Orion | op=mongoConnectionPool.cpp[220]:mongoConnect | msg=Database Startup Error (cannot connect to mongo - doing 100 retries with a 1000 millisecond interval)
time=2021-12-01T14:40:23.011Z | lvl=FATAL | corr=N/A | trans=N/A | from=N/A | srv=N/A | subsrv=N/A | comp=Orion | op=MongoGlobal.cpp[142]:mongoInit | msg=Fatal Error (MongoDB error)
time=2021-12-01T14:40:23.012Z | lvl=INFO | corr=N/A | trans=N/A | from=N/A | srv=N/A | subsrv=N/A | comp=Orion | op=contextBroker.cpp[591]:exitFunc | msg=Orion shutdown completed

有人知道如何配置 orion context broker 以连接到 mongo atlas 吗?

编辑:我已经检查过,我可以使用 mongo shell

从该服务器访问 mongo-db

Orion 目前仅支持 mongodb:// 个连接字符串,这些连接字符串由 -db-dbhost-rplSet-dbTimeout-dbuser-dbpwd-dbAuthMech-dbAuthDb-dbSSL-dbDisableRetryWrites CLI parameters(or default values, if omitted) as can be see in the source code.

an issue in the Orion repository 的目的是使其更加灵活,允许提供直接覆盖上述参数的连接字符串。

虽然出现了这个问题(欢迎贡献;)您可以破解上面引用的 Orion 源代码,为您构建一个支持 mongo+srv:// 连接字符串的特定版本。