Python 集成 Nacos 配置中心

时间:2025-02-21 08:26:21
from nacos import NacosClient import yaml import os import json # 使用 pyyaml 模块,把从配置中心获取的 yaml 数据转为 json 数据 def get_config(): config = load_config('../config/') client = NacosClient(config['Global']['nacos']['ip'] + ':' + config['Global']['nacos']['port'], namespace=config['Global']['nacos']['namespace'], username=config['Global']['nacos']['username'], password=config['Global']['nacos']['password']) data_id = config['Global']['nacos']['data_id'] group = config['Global']['nacos']['group'] config_info = client.get_config(data_id, group) if isinstance(config_info,bytes): str_config_info = config_info.decode() else: str_config_info = config_info dict_config_info = yaml.load(str_config_info,Loader=yaml.FullLoader) json_data = json.dumps(dict_config_info) print(json_data) return json_data # 加载 yaml 文件里的信息 def load_config(file_path): """ Load config from yml/yaml file. Args: file_path (str): Path of the config file to be loaded. Returns: global config """ _, ext = os.path.splitext(file_path) assert ext in ['.yml', '.yaml'], "only support yaml files for now" config = yaml.load(open(file_path, 'rb'), Loader=yaml.Loader) return config # 测试 if __name__ == '__main__': get_config()