nacos批量导入
一、概述
由于mysql做了迁移,需要批量修改mysql地址。但是java应用有上百个,修改起来很麻烦。
所以需要通过调用nacos api接口来进行批量修改
二、批量导入
下载修改
点击某个命名空间,下载所有配置

然后会得到文件nacos_config_export_20250221143024.zip
将里面的文件解压出来,使用vscode编辑器批量替换。
批量修改
这里使用python脚本,调用nacos api接口,批量修改。
新建目录write_nacos
mkdir -p write_nacos
目录结构如下:
./
├── dev
│ └── mid
│ └── application.yaml
└── start.py
说明:
dev目录是分组名
mid目录是中间相关的,里面存放具体的应用配置
核心是start.py,内容如下:
# !/usr/bin/python3 # -*- coding: utf-8 -*- import requests import os NACOS_SERVERS = "http://192.168.10.1:8848" def write_nacos(directory,namespace,group): for root, dirs, files in os.walk(directory): for file in files: # print(file) file_path = os.path.join(root, file) # print(file_path) with open(file_path, mode="r", encoding="utf-8") as f: content = f.read() data = { "tenant": namespace, "dataId": file, "group": group, "content": content, "type": "yaml", } url = NACOS_SERVERS + "/nacos/v1/cs/configs" response = requests.post(url, data=data) # print(response) status_code = response.status_code # print(status_code,type(status_code)) if status_code == 200: print("%s执行成功" % file) else: print("%s执行失败" % file) directory = "dev/mid" namespace = "dev-mid" group = "dev" write_nacos(directory,namespace,group)
注意修改nacos server地址
修改directory,namespace,group
运行脚本
python3 start.py
输出:
application.yaml执行成功
最后进入nacos页面,查看配置是否修改成功。

浙公网安备 33010602011771号