我正在运行一个siddhi应用程序,该应用程序侦听事件并将其写入到在远程计算机上运行的mongodb实例中。 mongo数据库实例具有基本身份验证设置(用户名,密码)。 我尝试连接到mongodb实例并将事件写入集合中,在日志中,我能够看到wso2可以连接到远程实例
[2019-05-17 12:30:25,753] INFO {org.mongodb.driver.cluster} - Cluster created with settings {hosts=[10.x.x.xxx:27017], mode=SINGLE, requiredClusterType=UNKNOWN, serverSelectionTimeout='30000 ms', maxWaitQueueSize=500}
[2019-05-17 12:30:25,763] INFO {org.mongodb.driver.cluster} - Cluster created with settings {hosts=[10.x.x.xxx:27017], mode=SINGLE, requiredClusterType=UNKNOWN, serverSelectionTimeout='30000 ms', maxWaitQueueSize=500}
[2019-05-17 12:30:25,765] INFO {org.wso2.carbon.siddhi.editor.core.internal.WorkspaceDeployer} - Siddhi App xxxxxxxxxx successfully deployed.
[2019-05-17 12:30:26,017] INFO {org.mongodb.driver.connection} - Opened connection [connectionId{localValue:430, serverValue:1009}] to 10.x.x.xxx:27017
[2019-05-17 12:30:26,018] INFO {org.mongodb.driver.connection} - Opened connection [connectionId{localValue:432, serverValue:1010}] to 10.x.x.xxx:27017
当我尝试写入mongodb时,出现以下错误
[2019-05-17 12:30:35,334] ERROR {org.wso2.siddhi.core.SiddhiAppRuntime} - Error starting Siddhi App 'IntegrationTesting', triggering shutdown process. Error on 'IntegrationTesting'. Error in retrieving collection names from the database 'IntegrationTesting' : Command failed with error 13: 'command listCollections requires authentication' on server 10.x.x.xxx:27017. The full response is { "ok" : 0.0, "errmsg" : "command listCollections requires authentication", "code" : 13, "codeName" : "Unauthorized" }
我尝试在siddhi应用程序@store()中添加用户名和密码 并且还尝试在/conf/worker/deployment.yaml中添加数据源。在这两种情况下,我都会遇到相同的错误。
请协助。
致谢,
Chaithanya Kumar.S
数据科学家-Koinearth。
答案 0 :(得分:0)
您如何配置凭据,MongoDB扩展期望用户名和密码插入URI。
@Store(type="mongodb",mongodb.uri="mongodb://admin:admin@localhost/Foo")