Java 试图通过Lambda连接到Atlas:没有与主机名关联的地址

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

我正在尝试从Lambda脚本上载文档,但是我一直被困在每当Lambda脚本启动时都会得到以下信息的地方:

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名称尚未传播。这需要时间:)巧合的是,您安装了一个库,它确实工作了!