Java 试图通过Lambda连接到Atlas:没有与主机名关联的地址
我正在尝试从Lambda脚本上载文档,但是我一直被困在每当Lambda脚本启动时都会得到以下信息的地方:Java 试图通过Lambda连接到Atlas:没有与主机名关联的地址,java,mongodb-java,mongodb-atlas,Java,Mongodb Java,Mongodb Atlas,我正在尝试从Lambda脚本上载文档,但是我一直被困在每当Lambda脚本启动时都会得到以下信息的地方: com.mongodb.MongoSocketException: cluster0-whnfd.mongodb.net: No address associated with hostname 错误似乎很明显,但是我可以通过Mongo Compass使用相同的URL进行连接。我使用的Java类如下所示: public class MongoStore { private fin
com.mongodb.MongoSocketException: cluster0-whnfd.mongodb.net: No address associated with hostname
错误似乎很明显,但是我可以通过Mongo Compass使用相同的URL进行连接。我使用的Java类如下所示:
public class MongoStore {
private final static String MONGO_ADDRESS = "mongodb+srv://<USERNAME>:<PASSWORD>@cluster0-whnfd.mongodb.net/test";
private MongoCollection<Document> collection;
public MongoStore() {
final MongoClientURI uri = new MongoClientURI(MONGO_ADDRESS);
final MongoClient mongoClient = new MongoClient(uri);
final MongoDatabase database = mongoClient.getDatabase("test");
this.collection = database.getCollection("test");
}
public void save(String payload) {
Document document = new Document();
document.append("message", payload);
collection.insertOne(document);
}
}
公共类MongoStore{
私有最终静态字符串MONGO_ADDRESS=“mongodb+srv://:@cluster0 whnfd.mongodb.net/test”;
私人MongoCollection收藏;
公共蒙哥斯托尔(){
最终MongoClientURI=新MongoClientURI(MONGO_地址);
最终MongoClient MongoClient=新MongoClient(uri);
最终MongoDatabase数据库=mongoClient.getDatabase(“测试”);
this.collection=database.getCollection(“测试”);
}
公共无效保存(字符串有效负载){
文档=新文档();
文件。附加(“消息”,有效载荷);
收藏.插入器(文件);
}
}
我是不是对我的Java类进行了错误的配置,还是有更棘手的事情发生了 当我开始从Heroku迁移Python web应用程序时,新创建的MongoDB Atlas数据库也遇到了同样的问题 所以我意识到DNS名称cluster0.hgmft.mongodb.net根本不存在
当我安装了dnspython库(我的应用程序是用Python编写的)时,神奇的事情发生了。有了这个库,MongoDB客户端能够连接到我在Mongo Atlas中的数据库。你修复了吗?我正在寻找hlepI,但我恐怕没有:(群集的DNS名称尚未传播。这需要时间:)巧合的是,您安装了一个库,它确实工作了!