【问题标题】:Attempting to connect to Atlas via Lambda: No address associated with hostname尝试通过 Lambda 连接到 Atlas:没有与主机名关联的地址
【发布时间】:2019-07-14 22:47:29
【问题描述】:

我正在尝试从 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);
    }

}

我只是错误地配置了我的 Java 类,还是这里发生了一些更棘手的事情?

【问题讨论】:

  • 你修好了吗?我正在寻找帮助
  • 我没有我怕:(

标签: java mongodb-java mongodb-atlas


【解决方案1】:

当我开始从 Heroku 迁移我的 Python Web 应用程序时,我在新创建的 MongoDB Atlas 数据库中遇到了同样的问题。

所以我意识到 DNS 名称 cluster0.hgmft.mongodb.net 根本不存在。

当我安装了库 dnspython(我的应用程序是用 Python 编写的)时,神奇的事情发生了,有了这个库,MongoDB 客户端能够连接到我在 Mongo Atlas 中的数据库。

【讨论】:

  • 集群的 DNS 名称尚未传播。这需要时间 :) 巧合的是,您安装了一个库并且它确实有效!
猜你喜欢
  • 2022-10-04
  • 2023-03-05
  • 1970-01-01
  • 1970-01-01
  • 2017-12-04
  • 2018-12-04
  • 2021-10-02
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多