Updated on 2022-09-21 GMT+08:00

Connecting to a Database

If you are connecting to an instance using Python, an SSL certificate is optional, but downloading an SSL certificate and encrypting the connection will improve the security of your instance.

SSL is disabled by default for a new DDS instance. To enable SSL, see Enabling SSL.

Prerequisites

  1. To connect an ECS to an instance, the ECS must be able to communicate with the DDS instance. You can run the following command to connect to the IP address and port of the instance server to test the network connectivity.

    curl ip:port

    If the message It looks like you are trying to access MongoDB over HTTP on the native driver port is displayed, the ECS and DDS instance can communicate with each other.

  2. Install Python and third-party installation package pymongo on the ECS. Pymongo 2.8 is recommended.
  3. If SSL is enabled, download the root certificate and upload it to the ECS.

Connection Code

  • Enabling SSL
    dbs = connection.database_names()
    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})
    conn_urls="mongodb://rwuser:rwuserpassword@ip:port/{mydb}?authSource=admin"
    from pymongo import MongoClient
    import ssl
    est_database
    print "connect database success! database names is %s" % dbs
  • Disabling SSL
    import ssl
    from pymongo import MongoClient
    conn_urls="mongodb://rwuser:rwuserpassword@ip:port/{mydb}?authSource=admin"
    connection = MongoClient(conn_urls,connectTimeoutMS=5000)
    dbs = connection.database_names()
    print "connect database success! database names is %s" % dbs

The authentication database in the URL must be admin. Set authSource to admin.