python - 尝试连接到 CosmosDB 数据库时出现 pymongo.errors.ServerSelectionTimeoutError

标签 python azure azure-cosmosdb

尝试从本地计算机连接到 CosmosDB 数据库时,我收到了 Getting 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

最佳答案

我之前也遇到过同样的问题,您可以在传递给 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}"

关于python - 尝试连接到 CosmosDB 数据库时出现 pymongo.errors.ServerSelectionTimeoutError,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60584327/

相关文章:

python - 获取 Cannot mask with non-boolean array containing NA/NaN values...但是没有任何缺失值

Azure Key Vault 访问策略不适用于组

azure - 使用 ADF 时在 cosmos DB 内序列化数组

python - 如何在 python 中将宇宙数据的时间戳转换为日期时间格式?

visual-studio-code - 如何在 VS Code 中为 Cosmos DB 执行查询?

python - 高效的碰撞检测

python - 旧式字符串格式需要显式 str() 转换吗?

python - 未找到 libtorrent 模块

azure - 使用 ConfidentialClientApplication 保护对 MS Graph 的 Multi-Tenancy 访问

json - Microsoft LUIS - 话语和实体中的 startPos 和 EndPos