[Python] SSL Handshake issue with Pymongo on Python3

Discussão em 'Python' iniciado por Stack, Julho 5, 2025.

  1. Stack

    Stack Membro Participativo

    Trying to connect to Azure CosmosDB mongo server results into an SSL handshake error.

    I am using Python3 and Pymongo to connect to my Azure CosmosDB. The connection works fine if I run the code with Python27 but causes the below error when using Python3:

    import pymongo
    from pymongo import MongoClient
    import json
    import sys

    def check_server_status(client, data):
    '''check the server status of the connected endpoint'''
    db = client.result_DB
    server_status = db.command('serverStatus')
    print('Database server status:')
    print(json.dumps(server_status, sort_keys=False, indent=2, separators=(',', ': ')))
    coll = db.file_result
    print (coll)
    coll.insert_one(data)

    def main():
    uri = "mongodb://KEY123@backend.documents.azure.com:10255/?ssl=true&replicaSet=globaldb"
    client = pymongo.MongoClient(uri)
    emp_rec1 = {
    "name":"Mr.Geek",
    "eid":24,
    "location":"delhi"
    }
    check_server_status(client, emp_rec1)

    if __name__ == "__main__":
    main()


    Running this on Python3 results into below error:


    pymongo.errors.ServerSelectionTimeoutError: SSL handshake failed: backendstore.documents.azure.com:10255: [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed (_ssl.c:749)
    ​

    Here is my successful output when I run the same code with Python27:


    Database server status: { "_t": "OKMongoResponse", "ok": 1 } Collection(Database(MongoClient(host=['backend.documents.azure.com:10255'], document_class=dict, tz_aware=False, connect=True, ssl=True, replicaset='globaldb'), u'result_DB'), u'file_result')
    ​

    Continue reading...

Compartilhe esta Página