废话少说
# -*- coding: utf-8 -*-
# @Time : 2018/7/31
# @Author : cy
from configparser import ConfigParser
import pymongo
from sshtunnel import SSHTunnelForwarder
from run_path import setting_path
def get_mongodb_client():
config = ConfigParser()
path = setting_path()
config.read(path)
# 跳板机参数
ecs_host = config.get('ssh', 'host')
ecs_user = config.get('ssh', 'user')
ecs_password = config.get('ssh', 'password')
# 云mongo 配置
mongo_host = config.get('mongo', 'host')
mongo_database = config.get('mongo', 'database')
mongo_account = config.get('mongo', 'user')
mongo_password = config.get('mongo', 'password')
host = mongo_host
server = SSHTunnelForwarder(
ssh_address_or_host=ecs_host,
ssh_password=ecs_password,
ssh_username=ecs_user,
remote_bind_address=(host, 27017))
server.start()
uri = "mongodb://%s:%s@%s/%s?authMechanism=SCRAM-SHA-1" % (mongo_account, mongo_password, mongo_host, mongo_database)
client = pymongo.MongoClient(uri)
return client
需要注意的问题就是 端口