Python 集成 Nacos 配置中心

Python 集成 Nacos 配置中心

下载 Nacos 官方 pyhton 库

pip install nacos-sdk-python
# 指定国内阿里云镜像源
pip3 install nacos-sdk-python -i http://mirrors.aliyun.com/pypi/simple/ --trusted-host mirrors.aliyun.com

配置 Nacos 相关信息

Global:
  nacos:
    port: '8848'
    ip: '127.0.0.1'
    username: 'nacos'
    password: '123456'
    namespace: 'test'
    group: 'test'
    data_id: 'test'
  • 这里通过 env.yaml 指定相关配置信息定义环境变量配置文件

代码逻辑

from nacos import NacosClient
import yaml
import os
import json



# 使用 pyyaml 模块,把从配置中心获取的 yaml 数据转为 json 数据
def get_config():
    config = load_config('../config/env.yaml')
    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()

运行结果

  • Nacos 控制台配置文件内容

在这里插入图片描述

  • 获取的 Nacos 中的配置信息

在这里插入图片描述

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值