我是第一次接触悉地,我尝试连接MongoDB Atlas来插入一个集合的数据库,但是当我配置参数并在悉地编辑器中运行代码时,控制台中似乎没有错误,但它没有将记录添加到MongoDB中,下面是代码:
@App:name("ConectionMongoDBAtlas")
@App:description("Description of conection to MongoDB Atlas")
@sink(type='mongodb',
-- mongodb.uri='mongodb://username:password@ac-qe2xpea-shard-00-00.cs3wyqb.mongodb.net:27017,ac-qe2xpea-shard-00-01.cs3wyqb.mongodb.net:27017,ac-qe2xpea-shard-00-02.cs3wyqb.mongodb.net:27017/siddhi?ssl=true&replicaSet=atlas-4drk5v-shard-0&authSource=admin&retryWrites=true&w=majority',
uri='mongodb+srv://username:password@cluster0.cs3wyqb.mongodb.net/siddhi?retryWrites=true&w=majority',
collection.name = 'siddhiCollection',
database.name = 'siddhi'
-- secure.connection = 'true',
-- trust.store = 'C:/Users/luis.ortega/Downloads/siddhi-tooling-5.1.0/resources/security/client-truststore.jks',
-- key.store.password = 'mongodb',
-- sslEnabled = 'true',
-- trustStore = 'C:/Users/luis.ortega/Downloads/siddhi-tooling-5.1.0/resources/security/cloud.mongodb2',
-- keyStorePassword = 'mongodb',
-- @map(type='json')
-- @payload('{"name":"{{name}}", "age":{{age}}}')
)
@primaryKey("name")
@index('age')
define table siddhiCollection(name string, age int);
@sink(type = 'log')
define stream BarStream(message string);
@info(name= 'query1')
define stream InsertStream (name string, age int);
from InsertStream
insert into MongoCollection;
我尝试使用文档中的store注解和sink注解配置mongodb。
我们不知道数据库SSL证书问题是否是个问题,我甚至将证书添加到了客户端trutstore.jks。
1条答案
按热度按时间h43kikqp1#
我已经尝试了以下步骤连接到MongoDB(但不是Atlas),并且成功了。
1.将mongo驱动程序[1]复制到/lib目录。
1.创建一个名为“test”的数据库,并将用户admin添加到该数据库。
db.创建用户({用户:“管理员”,密码:“管理员”,角色:[{角色:“读写”,数据库:“测试”}]});
1.然后,在部署了悉得应用程序[2]之后,使用工具UI模拟悉得应用程序。
[1][https://mvnrepository.com/artifact/org.mongodb/mongo-java-driver/3.4.2](https://mvnrepository.com/artifact/org.mongodb/mongo-java-driver/3.4.2)
[二]
如果数据库连接有问题,工具的碳日志文件中应该有错误日志。您可以从位置/wso 2/server/logs检查日志文件“carbon.log”。只有在浏览器控制台中观察到日志时才需要检查。