更新时间:2022-07-29 GMT+08:00

Python示例

本章节主要介绍使用Python语言连接副本集实例的方法。

前提条件

  1. 连接数据库的弹性云服务器必须和DDS实例之间网络互通,可以使用curl命令连接DDS实例服务端的IP和端口号,测试网络连通性。

    curl ip:port

    返回“It looks like you are trying to access MongoDB over HTTP on the native driver port.”,说明网络互通。

  2. 在弹性云服务器上安装Python以及第三方安装包pymongo。推荐使用pymongo2.8版本。
  3. 如果开启SSL,需要在界面上下载根证书,并上传到弹性云服务器。

连接代码

  • SSL开启
    import ssl
    from pymongo import MongoClient
    conn_urls="mongodb://rwuser:rwuserpassword@ip:port/{mydb}?authSource=admin&replicaSet=replica"
    connection = MongoClient(conn_urls,connectTimeoutMS=5000,ssl=True, ssl_cert_reqs=ssl.CERT_REQUIRED,ssl_match_hostname=False,ssl_ca_certs=${path to certificate authority file})
    dbs = connection.database_names()
    print "connect database success! database names is %s" % dbs
  • SSL关闭
    import ssl
    from pymongo import MongoClient
    conn_urls="mongodb://rwuser:rwuserpassword@ip:port/{mydb}?authSource=admin&replicaSet=replica"
    connection = MongoClient(conn_urls,connectTimeoutMS=5000)
    dbs = connection.database_names()
    print "connect database success! database names is %s" % dbs
  • URL中的认证数据库必须为“admin”,即“authSource=admin”。
  • SSL方式连接,需要手动生成trustStore文件。
  • 认证数据库必须为“admin”,之后再切换至业务数据库。