通过open api 获取 nacos配置 config data not exist的问题

部署运行你感兴趣的模型镜像

声明:nacos 版本为2.1.1,错误为config data not exist

通过open api读取nacos配置是一个很常规的操作。在阅读了官方文档后,通过官方文档的api接口访问出现:

{"timestamp":"2025-03-20T06:36:40.141+00:00","status":404,"error":"Not Found","path":"/nacos/v2/cs/config"}

官方提供的2.x的api接口为/nacos/v2/cs/config,实测找不到path,使用/nacos/v1/cs/configs不会报错。

在确定api接口没有问题的前提下我们可以通过拼好的url进行get请求访问,这里我用python代码简单举个例子。

import requests
# Nacos 服务地址
nacos_server = 'http://xxxxxxx'
# 配置 ID
data_id = 'xxxx'
# 配置分组
group = 'gateway'
# 租户信息(可选)
tenant = 'xxxxxx'
# 用户名
username = 'xxxxxx'
# 密码
password = 'xxxxxxx'
# 构建请求 URL
url = f'{nacos_server}/nacos/v2/cs/config?dataId={data_id}&group={group}&tenant={tenant}&username={username}&password={password}'
try:
    # 发送带有基本认证的 GET 请求
    response = requests.get(url)
    # 检查响应状态码
    if response.status_code == 200:
        print('配置内容:', response.text)
    else:
        print(f'请求失败,状态码:{response.status_code},错误信息:{response.text}')
except requests.RequestException as e:
    print(f'请求发生错误:{e}')

代码很简单,但其中的坑很多。在官方文档2.x中并没有提到tenant这个参数,只是有namespaceId(可选)这个参数。但查阅了很多资料,表示tenant和namespaceId是同样的效果,感兴趣的朋友可以查一下。
你以为到这里就结束了么,我们就可以成功的获取到配置了么?答案是否定的。
开始获取配置,输入所需参数,运行代码,出现报错 404,config data not exist。

开始排查各种可能出现问题的原因,参数有没有写错,用户是否有权限,排查了一遍都没有发现问题。
在这里插入图片描述
开始读取各个namespace下的配置测试,都读取不到。因为public是保留空间,里面没有配置。除了public,其他的ns都读取了一遍,结果都是同样的config data not exist。
突发奇想,在public里面创建了一个配置,测试读取,可以读到…
观察public和其他的ns有什么不同。
在这里插入图片描述
从图中可以看到public 没有后面的一串id。
我们在创建ns的时候会发现,如果没有指定ns id会自动生成
在这里插入图片描述
将prod的nsId 传参为tenant的值进行读取,成功获取到配置。
总结:nacos 2.1.1使用的api和1.x的相同,传递请求参数时,tenant要使用namespace 的 id 而不是namespace的名称。

您可能感兴趣的与本文相关的镜像

ACE-Step

ACE-Step

音乐合成
ACE-Step

ACE-Step是由中国团队阶跃星辰(StepFun)与ACE Studio联手打造的开源音乐生成模型。 它拥有3.5B参数量,支持快速高质量生成、强可控性和易于拓展的特点。 最厉害的是,它可以生成多种语言的歌曲,包括但不限于中文、英文、日文等19种语言

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值