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页面,查看配置是否修改成功。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值