python - 将 PyMongo 与公共(public) SSL key 一起使用

标签 python mongodb ssl pymongo

我正在尝试来自 Compose.io 的托管 MongodDB+ 测试版,它支持 SSL 连接。它提供了一个公共(public) SSL key ,并使用以下参数从命令行进行连接:

$ mongo -ssl -sslCAFile example.pem example.dblayer.com:10373/admin -u user -p pass

我需要使用 PyMongo 从 Python 脚本访问我的数据库,但我不确定如何将上述语法转换为 MongoClient 连接参数;我只熟悉没有 SSL 的连接,即

client = MongoClient('mongodb://<user>:<pass>@example.dblayer.com:10373/admin')

最佳答案

这应该适合你。

import os
import ssl
from pymongo import MongoClient

mongoDB_uri = 'mongodb://%s:%s@%s/%s' % ("user_name", "password", 
"host_name", "db_name")

client = MongoClient(mongoDB_uri,
        ssl=True,
        ssl_cert_reqs=ssl.CERT_REQUIRED,
        ssl_ca_certs="/path/to/cert.pem")

db_conn = client["db_name"]
print(db_conn.collection_name.find_one())

关于python - 将 PyMongo 与公共(public) SSL key 一起使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31151644/

相关文章:

python - 从字符串中获取类对象

python - 无法使用 Flask-Migrate (Alembic) 迁移或升级数据库

javascript - 主干删除命令在 Node 服务器上执行,但前端没有触发同步事件

android - nginx + SSL 证书在 Android 上无效

vb.net - 在 VB.Net 中,我使用以下代码发送电子邮件。现在我想使用 TLS 身份验证

scala - 带有非 http TCP 服务器的 Lightbend ssl-config

python - 如何确定reportlab中旋转文本的长度

python - Numpy - 在 Python 中创建一个输入为两个矩阵、输出为二进制矩阵的函数

exception - mongodb 字段的奇怪行为以 $ 开头

mongodb - 需要光标选项