Попытка подключения к серверу Azure CosmosDB mongo приводит к ошибке рукопожатия SSL.
Я использую Python3
и Pymongo
для подключения к моей Azure CosmosDB.Соединение работает нормально, если я запускаю код с Python27, но вызывает ошибку ниже при использовании 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()
Запуск этого на Python3
приводит к ошибке ниже:
pymongo.errors.ServerSelectionTimeoutError: Ошибка рукопожатия SSL: backendstore.documents.azure.com:10255: Не удалось проверить сертификат [SSL: CERTIFICATE_VERIFY_FAILED] (_ssl.c: 749)
Вот мой успешный вывод, когда язапустите тот же код с Python27
:
Состояние сервера базы данных: {"_t": "OKMongoResponse", "ok": 1} Коллекция (База данных (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 ')