当前位置: 首页 > news >正文

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_infodict_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 中的配置信息

在这里插入图片描述

http://www.lryc.cn/news/234421.html

相关文章:

  • Debian 11 更新 Node.js 版本
  • python 对图像进行聚类分析
  • 程序员导航站
  • BIO、NIO、AIO三者的区别及其应用场景(结合生活例子,简单易懂)
  • 深度学习YOLO图像视频足球和人体检测 - python opencv 计算机竞赛
  • 系列七、JVM的内存结构【堆(Heap)】
  • 什么是Selenium?如何使用Selenium进行自动化测试?
  • 【蓝桥杯 第十五届模拟赛 Java B组】训练题(A - I)
  • 【数据结构】手撕双向链表
  • 性能测试 —— Jmeter接口处理不低于200次/秒-场景
  • Qt中使用QNetworkAccessManager类发送https请求时状态码返回0
  • Linux - 物理内存管理 - memmap
  • Python爬虫动态ip代理防止被封的方法
  • 01Urllib
  • python爬取酷我音乐 根据歌名进行爬取
  • 【深度学习】吴恩达课程笔记(五)——超参数调试、batch norm、Softmax 回归
  • 腾讯云轻量级服务器和云服务器什么区别?轻量服务器是干什么用的
  • 解决:虚拟机远程连接失败
  • SpringBoot项目集成发邮件功能
  • 【Spring篇】使用注解进行开发
  • Flink(六)【DataFrame 转换算子(下)】
  • 【2023春李宏毅机器学习】生成式学习的两种策略
  • Android13 adb 无法连接?
  • Ubuntu 20.04 调整交换分区大小
  • 将Agent技术的灵活性引入RPA,清华等发布自动化智能体ProAgent
  • 高济健康:数字化科技创新与新零售碰撞 助推医疗产业优化升级
  • SystemVerilog学习 (5)——接口
  • vue3插槽的使用
  • IPTABLES问题:DNAT下如何解决内网访问内部服务器问题
  • 异步任务线程池——最优雅的方式创建异步任务