尝试从本地计算机连接到CosmosDB数据库时,我遇到了pymongo.errors.ServerSelectionTimeoutError。
uri = "uri given by the CosmosDB console"
client = pymongo.MongoClient(uri)
db = client.test
collection = db.test
collection.insert_one({"field1": "foo", "field2": "bar"})
在最后一条语句上抛出:pymongo.errors.ServerSelectionTimeoutError:连接已关闭
我还尝试添加一些博客文章推荐的ssl_cert_reqs = CERT_NONE参数,但是它仍然引发相同的错误。我正在使用pymongo 3.10.1
答案 0 :(得分:1)
我之前也遇到过同样的问题,您可以在传递给MongoClient的字符串中的数据库名称之后添加?ssl=true&ssl_cert_reqs=CERT_NONE
,
db_name = os.getenv("MONGO_DB")
host = os.getenv("MONGO_HOST")
port = 10255
username = os.getenv("MONGO_USERNAME")
password = os.getenv("MONGO_PASSWORD")
args = "ssl=true&retrywrites=false&ssl_cert_reqs=CERT_NONE"
connection_uri = f"mongodb://{username}:{password}@{host}:{port}/{db_name}?{args}"
答案 1 :(得分:1)
好,知道了。我需要将我的IP地址添加到防火墙以允许它通过。然后我收到一个自动重新连接错误,需要向连接字符串添加retrywrites = false。