写点什么

nacos 配置中心自动化运维之 namespace 坑

用户头像
Sky彬
关注
发布于: 2021 年 01 月 27 日
nacos 配置中心自动化运维之namespace坑

需要在现有的运维平台上支持 nacos 配置中心的自动化管理(CRUD,发布),但实际过程中发现两个小地方需要注意一下,免得采坑。


环境版本


Nacos Server : 1.4.1


Nacos Java 客户端: 1.4.1


		<dependency>			<groupId>com.alibaba.nacos</groupId>			<artifactId>nacos-client</artifactId>			<version>1.4.1</version>		</dependency>
复制代码


问题描述


1.对 namespace:public 的配置文件进行增/修改,代码运行返回 true(结果正常),但管理后台确没有看到对应的内容。


Properties properties = new Properties();properties.put(PropertyKeyConst.NAMESPACE, 'public');properties.put(PropertyKeyConst.SERVER_ADDR, SERVER_ADDR);properties.put("username","nacos");properties.put("password","nacos");ConfigService configService = NacosFactory.createConfigService(properties);return configService.publishConfig(dataId , group , configurationContent , "yaml");
复制代码


引起不生效的原因:对 public 进行操作,不需要设置 namespace 的值。


正确代码


Properties properties = new Properties();properties.put(PropertyKeyConst.SERVER_ADDR, SERVER_ADDR);properties.put("username","nacos");properties.put("password","nacos");ConfigService configService = NacosFactory.createConfigService(properties);return configService.publishConfig(dataId , group , configurationContent , "yaml");
复制代码


2.对 namespace:test(其它值一样)的配置文件进行增/修改,代码运行返回 true(结果正常),但管理后台确没有看到对应的内容


Properties properties = new Properties();properties.put(PropertyKeyConst.NAMESPACE, 'test');properties.put(PropertyKeyConst.SERVER_ADDR, SERVER_ADDR);properties.put("username","nacos");properties.put("password","nacos");ConfigService configService = NacosFactory.createConfigService(properties);return configService.publishConfig(dataId , group , configurationContent , "yaml");
复制代码


引起不生效的原因:对其它 namespace 的属性传值,不应该传 namespace 的名字(name),而是传 namespace 的 id。


namespace 的 id 获取位置:



nacos 文档地址:Java SDK


发布于: 2021 年 01 月 27 日阅读数: 21
用户头像

Sky彬

关注

运维经理、开发经理 2019.05.05 加入

运维平台、架构、DevOp、开源,欢迎拍砖

评论

发布
暂无评论
nacos 配置中心自动化运维之namespace坑