控制台API
Nacos 提供了若干开放的控制台API,当您有自定义开发Nacos对应的控制台UI需求时,您可以通过这些API,获取Nacos Server节点中的数据,从而实现自定义的Nacos控制台UI界面。
同时配合关闭Nacos 默认控制台UI来使用自定义UI,相关详情请参考控制台手册-关闭默认控制台
1. Nacos 基础控制台API
基础控制台API提供了Nacos 集群的基础信息,例如集群信息、命名空间信息等。
1.1. 获取集群状态信息
接口描述
通过该接口,可以获取到Nacos 集群的基础状态和开关信息,例如:版本号,运行模式,鉴权是否开启等;该接口不会返回Nacos 集群的节点信息。
请求方式
GET
鉴权状态
公开接口,无需身份信息。
请求URL
/nacos/v3/console/server/state
请求参数
无
返回数据
参数名 | 参数类型 | 描述 |
---|---|---|
version | String | Nacos集群的版本号,例如3.0.0 |
startup_mode | String | Nacos集群的模式,例如standalone 、cluster |
server_port | int | Nacos集群的主端口,例如8848 |
function_mode | String | Nacos集群的功能模式,例如config 、naming 、all , 若为null 时,相当于all |
datasource_platform | String | Nacos集群的数据源类型,例如mysql 、derby 等,若为“时,说明使用默认数据源类型 |
console_ui_enabled | Boolean | Nacos控制台UI是否启用 |
auth_enabled | Boolean | Nacos是否启用鉴权 |
auth_admin_request | Boolean | Nacos是否需要初始化admin用户nacos |
auth_system_type | String | Nacos鉴权的插件类型,例如nacos 等,若为“时,说明使用默认鉴权系统类型 |
login_page_enabled | Boolean | Nacos控制台是否启用登录页 |
plugin_datasource_log_enabled | Boolean | Nacos是否启用打印数据源访问Debug日志 |
config_retention_days | int | Nacos集群的配置历史数据保留天数,单位为天 |
isManageCapacity | Boolean | Nacos是否启用配置容量限制检查,默认为true ,开启时仅会统计当前配置的使用量,在超过限额时不会拒绝请求。 |
isCapacityLimitCheck | Boolean | Nacos是否启用配置容量限制检查,默认为false ,开启后当配置容量超出限额时,会拒绝配置的变更请求。 |
defaultMaxSize | int | Nacos集群的配置文件大小限制,单位为Byte,默认为102400 ,即100KB。 |
defaultGroupQuota | int | Nacos集群的单个分组(GroupName)下的配置文件数量限额,默认为200 。 |
defaultClusterQuota | int | Nacos集群的整个集群配置文件数量限额,默认为100000 。 |
isHealthCheck | Boolean | Nacos是否启用naming模块健康检查,默认为true ,开启后当注册到nacos上的服务实例出现异常时,Nacos会主动剔除该服务端节点。 |
int | 已废弃,请使用defaultMaxSize 。 | |
int | 未实际使用,已废弃 | |
int | 未实际使用,已废弃 |
示例
- 请求示例
- 返回示例
1.2. 获取控制台公告信息
接口描述
通过该接口,可以获取到Nacos 控制台希望在浏览器中显示的公告信息。Nacos默认控制台UI会在未开启鉴权时调用此接口,返回集群未开启鉴权的提示。
请求方式
GET
鉴权状态
公开接口,无需身份信息。
请求URL
/nacos/v3/console/server/announcement
请求参数
参数名 | 类型 | 必填 | 参数描述 |
---|---|---|---|
language | String | 否 | 访问的语言i18n值,默认为zh-CN ,目前仅支持zh-CN 和en-US 。 |
返回数据
返回体遵循Nacos open API 统一返回体格式,下表只阐述data
字段中的返回参数。
参数名 | 参数类型 | 描述 |
---|---|---|
data | String | 控制台公告内容 |
示例
- 请求示例
- 返回示例
1.3. 获取控制台引导内容
接口描述
通过该接口,可以获取Nacos控制台的引导信息。Nacos默认控制台UI会在关闭Nacos控制台UI时调用,以获取引导信息,相关详情请参考控制台手册-关闭默认控制台。
请求方式
GET
鉴权状态
公开接口,无需身份信息。
请求URL
/nacos/v3/console/server/guide
请求参数
无
返回数据
返回体遵循Nacos open API 统一返回体格式,下表只阐述data
字段中的返回参数。
参数名 | 参数类型 | 描述 |
---|---|---|
data | String | 控制台引导内容 |
示例
- 请求示例
- 返回示例
1.4. 获取Nacos控制台的存活状态
接口描述
通过该接口,可以获取Nacos控制台的存活状态,Nacos控制台是否可正常接受和响应请求。
请求方式
GET
鉴权状态
公开接口,无需身份信息。
请求URL
/nacos/v3/console/health/liveness
请求参数
无
返回数据
返回体遵循Nacos open API 统一返回体格式,下表只阐述data
字段中的返回参数。
参数名 | 参数类型 | 描述 |
---|---|---|
data | String | 固定为ok |
示例
- 请求示例
- 返回示例
1.5. 获取Nacos控制台的可读状态
接口描述
通过该接口,可以获取Nacos控制台的是否处于可读取状态,即Nacos控制台是否可以读取到数据。
请求方式
GET
鉴权状态
公开接口,无需身份信息。
请求URL
/nacos/v3/console/health/readiness
请求参数
无
返回数据
返回体遵循Nacos open API 统一返回体格式,下表只阐述data
字段中的返回参数。
参数名 | 参数类型 | 描述 |
---|---|---|
data | String | 若为可读状态时,固定为ok ,否则为不可读的模块即对应原因信息 |
示例
- 请求示例
- 返回示例
1.6. 获取Nacos节点运行信息
接口描述
通过该接口,可以获取Nacos节点运行信息,包括节点ip,节点运行状态,节点元数据等。
请求方式
GET
鉴权状态
需要Nacos 管理员用户权限。
请求URL
/nacos/v3/console/core/cluster/nodes
请求参数
参数名 | 类型 | 必填 | 参数描述 |
---|---|---|---|
ipKeyWord | String | 否 | 节点ip的过滤关键字,支持前缀模糊匹配。 |
返回数据
返回体遵循Nacos open API 统一返回体格式,下表只阐述data
字段中的返回参数。
参数名 | 参数类型 | 描述 |
---|
示例
- 请求示例
- 返回示例
1.7. 获取Nacos命名空间列表
接口描述
通过该接口,可以获取当前Nacos集群的命名空间列表。
请求方式
GET
鉴权状态
公开接口,无需身份信息。
由于命名空间是Nacos的基础隔离概念,因此大多数数据查询的接口都需要选择某个命名空间才能进行查询。因此,获取命名空间列表的能力应该是公开接口。
请求URL
/nacos/v3/console/core/namespace/list
请求参数
无
返回数据
返回体遵循Nacos open API 统一返回体格式,下表只阐述data
字段中的返回参数。
参数名 | 参数类型 | 描述 |
---|---|---|
namespace | String | 命名空间id |
namespaceShowName | String | 命名空间名称 |
namespaceDesc | String | 命名空间描述 |
configCount | Integer | 命名空间下的配置个数 |
quota | Integer | 命名空间的配置个数配额,需开启配置配额功能才会实际生效,默认不开启,仅做预留字段。 |
type | Integer | 命名空间的类型,预留字段,目前为0 时为默认命名空间、2 时为自定义创建的命名空间。 |
示例
- 请求示例
- 返回示例
1.8. 获取命名空间详情
接口描述
通过该接口,可以获取指定命名空间的详情。
请求方式
GET
鉴权状态
需要Nacos 管理员用户权限。
请求URL
/nacos/v3/console/core/namespace
请求参数
参数名 | 类型 | 必填 | 参数描述 |
---|---|---|---|
namespaceId | String | 是 | 命名空间id。 |
返回数据
返回体遵循Nacos open API 统一返回体格式,下表只阐述data
字段中的返回参数。
参数名 | 参数类型 | 描述 |
---|---|---|
namespace | String | 命名空间id |
namespaceShowName | String | 命名空间名称 |
namespaceDesc | String | 命名空间描述 |
configCount | Integer | 命名空间下的配置个数 |
quota | Integer | 命名空间的配置个数配额,需开启配置配额功能才会实际生效,默认不开启,仅做预留字段。 |
type | Integer | 命名空间的类型,预留字段,目前为0 时为默认命名空间、2 时为自定义创建的命名空间。 |
示例
- 请求示例
- 返回示例
1.9. 创建新命名空间
接口描述
通过该接口,可以创建新的命名空间。
请求方式
POST
鉴权状态
需要Nacos 管理员用户权限。
请求URL
/nacos/v3/console/core/namespace
请求参数
参数名 | 类型 | 必填 | 参数描述 |
---|---|---|---|
customNamespaceId | String | 否 | 命名空间id,未填入时将会使用UUID生成ID。 |
namespaceShowName | String | 是 | 命名空间名称。 |
namespaceDesc | String | 是 | 命名空间描述。 |
返回数据
返回体遵循Nacos open API 统一返回体格式,下表只阐述data
字段中的返回参数。
参数名 | 参数类型 | 描述 |
---|---|---|
data | Boolean | 创建命名空间是否成功。 |
示例
- 请求示例
- 返回示例
1.10. 更新命名空间
接口描述
通过该接口,可以更新命名空间的信息,无法更新命名空间ID,仅能更新命名空间的名称和描述。
请求方式
PUT
鉴权状态
需要Nacos 管理员用户权限。
请求URL
/nacos/v3/console/core/namespace
请求参数
参数名 | 类型 | 必填 | 参数描述 |
---|---|---|---|
namespaceId | String | 是 | 命名空间ID |
namespaceShowName | String | 是 | 命名空间名称。 |
namespaceDesc | String | 否 | 命名空间描述。 |
返回数据
返回体遵循Nacos open API 统一返回体格式,下表只阐述data
字段中的返回参数。
参数名 | 参数类型 | 描述 |
---|---|---|
data | Boolean | 更新命名空间是否成功。 |
示例
- 请求示例
- 返回示例
1.11. 删除命名空间
接口描述
通过该接口,可以删除命名空间。默认命名空间public
无法被删除。
请求方式
DELETE
鉴权状态
需要Nacos 管理员用户权限。
请求URL
/nacos/v3/console/core/namespace
请求参数
参数名 | 类型 | 必填 | 参数描述 |
---|---|---|---|
namespaceId | String | 是 | 命名空间ID。 |
返回数据
返回体遵循Nacos open API 统一返回体格式,下表只阐述data
字段中的返回参数。
参数名 | 参数类型 | 描述 |
---|---|---|
data | Boolean | 删除命名空间是否成功。 |
示例
- 请求示例
- 返回示例
1.12. 检查命名空间是否存在
接口描述
通过该接口,可以检查命名空间ID是否存在。默认控制台ID将在创建命名空间前调用,确认自定义的命名空间ID是否已经存在,以防冲突。
请求方式
GET
鉴权状态
公开接口,无需身份信息。
请求URL
/nacos/v3/console/core/namespace/exist
请求参数
参数名 | 类型 | 必填 | 参数描述 |
---|---|---|---|
customNamespaceId | String | 是 | 命名空间ID,传入空字符串时认为是需要自动生成的UUID。 |
返回数据
返回体遵循Nacos open API 统一返回体格式,下表只阐述data
字段中的返回参数。
参数名 | 参数类型 | 描述 |
---|---|---|
data | Boolean | 命名空间是否存在,存在是为true ,否则为false |
示例
- 请求示例
- 返回示例
2. 配置管理
2.1. 获取配置详情
接口描述
通过该接口,可以获取指定配置的详情。
请求方式
GET
鉴权状态
需要具有对应命名空间读取
权限的用户身份。
请求URL
/nacos/nacos/v3/console/config
请求参数
参数名 | 类型 | 必填 | 参数描述 |
---|---|---|---|
dataId | String | 是 | 配置ID。 |
groupName | String | 是 | 配置分组。 |
namespaceId | String | 否 | 命名空间ID,默认值为public |
返回数据
返回体遵循Nacos open API 统一返回体格式,下表只阐述data
字段中的返回参数。
参数名 | 参数类型 | 描述 |
---|---|---|
id | String | 配置在存储系统中的ID,一般为Long类型的字符串。 |
dataId | String | 配置ID。 |
group | String | 配置分组。 |
tenant | String | 命名空间ID。 |
content | String | 配置内容。 |
desc | String | 配置描述。 |
md5 | String | 配置内容的MD5值。 |
configTags | String | 配置的标签。 |
encryptedDataKey | String | 加密配置内容的密钥,使用配置加密插件时存在。 |
appName | String | 配置所属的应用名称。 |
type | String | 配置类型。 |
createTime | Long | 配置创建时间。 |
modifyTime | Long | 配置修改时间。 |
createUser | String | 配置创建人。 |
createIp | String | 配置创建IP。 |
String | 配置的用途,已废弃,请使用desc 代替。 | |
String | 配置的生效方式,已废弃,请使用type 代替。 | |
String | 配置的Schema,未启用,已废弃。 |
示例
- 请求示例
- 返回示例
2.2. 发布配置
接口描述
通过该接口,可以创建新的配置或更新已有配置。
请求方式
POST
鉴权状态
需要具有对应命名空间写入
权限的用户身份。
请求URL
/nacos/nacos/v3/console/config
请求参数
参数名 | 类型 | 必填 | 参数描述 |
---|---|---|---|
dataId | String | 是 | 配置ID。 |
groupName | String | 是 | 配置分组。 |
namespaceId | String | 否 | 命名空间ID,默认值为public |
content | String | 是 | 配置内容。 |
desc | String | 否 | 配置描述。 |
type | String | 否 | 配置类型,默认值为text 。 |
configTags | String | 否 | 配置标签,多个标签之间用英文逗号分隔。 |
appName | String | 否 | 配置所属应用名称,主要用于标记配置所使用的应用。 |
- 当配置已存在(
dataId
,groupName
相同)时,再次调用此接口将会对此配置进行更新 - 同时更新配置时,若请求
Header
中存在betaIps
,则会将配置标记为BETA配置,在终止BETA或完全发布配置之前,控制台UI需要进行特殊处理。
返回数据
返回体遵循Nacos open API 统一返回体格式,下表只阐述data
字段中的返回参数。
参数名 | 参数类型 | 描述 |
---|---|---|
data | Boolean | 创建配置是否成功。 |
示例
- 请求示例
- 返回示例
2.3. 删除配置
接口描述
通过该接口,可以删除指定配置。
请求方式
DELETE
鉴权状态
需要具有对应命名空间写入
权限的用户身份。
请求URL
/nacos/nacos/v3/console/config
请求参数
参数名 | 类型 | 必填 | 参数描述 |
---|---|---|---|
dataId | String | 是 | 配置ID。 |
groupName | String | 是 | 配置分组。 |
namespaceId | String | 否 | 命名空间ID,默认值为public 。 |
返回数据
返回体遵循Nacos open API 统一返回体格式,下表只阐述data
字段中的返回参数。
参数名 | 参数类型 | 描述 |
---|---|---|
data | Boolean | 删除配置是否成功。 |
示例
- 请求示例
- 返回示例
2.4. 批量删除配置
接口描述
通过该接口,可以批量删除指定配置。
请求方式
DELETE
鉴权状态
需要具有对应命名空间写入
权限的用户身份。
请求URL
/nacos/nacos/v3/console/config/batchDelete
请求参数
参数名 | 类型 | 必填 | 参数描述 |
---|---|---|---|
ids | String | 是 | 配置的存储ID列表,并非dataId 列表,多个ID之间用英文逗号分隔。 |
返回数据
返回体遵循Nacos open API 统一返回体格式,下表只阐述data
字段中的返回参数。
参数名 | 参数类型 | 描述 |
---|---|---|
data | Boolean | 删除配置是否成功。 |
示例
- 请求示例
- 返回示例
2.5. 查询配置列表
接口描述
通过该接口,可以查询指定命名空间下的配置列表。
请求方式
GET
鉴权状态
需要具有对应命名空间读取
权限的用户身份。
请求URL
/nacos/nacos/v3/console/configs
请求参数
参数名 | 类型 | 必填 | 参数描述 |
---|---|---|---|
pageNo | Integer | 是 | 当前页码,起始值为1。 |
pageSize | Integer | 是 | 每页显示的配置数量。 |
search | String | 否 | 查询模式,支持blur 和accurate ,分别对应模糊搜索和精确搜索,默认值accurate |
namespaceId | String | 否 | 命名空间ID,默认值为public 。 |
dataId | String | 否 | 配置ID,当search 为blur 时,可使用* 进行模糊搜索,例如test* ,当值为“或缺失时,查询全部符合groupName 条件的配置。 |
groupName | String | 否 | 配置分组,当search 为blur 时,可使用* 进行模糊搜索,例如test* ,当值为“或缺失时,查询全部符合dataId 条件的配置。 |
appName | String | 否 | 配置所属应用名称,默认为空,传入时过滤归属于此应用的配置,值为空时查询所有应用的配置。 |
configTags | String | 否 | 配置标签,多个标签之间用英文逗号分隔,默认为空,传入时过滤拥有此tag的配置,值为空时查询所有tag的配置。 |
type | String | 否 | 配置的类型,默认值为空,传入时过滤此类型的配置,值为空时查询所有类型的配置。 |
返回数据
返回体遵循Nacos open API 统一返回体格式,下表只阐述data
字段中的返回参数。
参数名 | 参数类型 | 描述 |
---|---|---|
id | String | 配置在存储系统中的ID,一般为Long类型的字符串。 |
dataId | String | 配置ID。 |
group | String | 配置分组。 |
tenant | String | 命名空间ID。 |
content | String | 配置内容。 |
md5 | String | 配置内容的MD5值。 |
encryptedDataKey | String | 加密配置内容的密钥,使用配置加密插件时存在。 |
appName | String | 配置所属的应用名称。 |
type | String | 配置类型。 |
示例
- 请求示例
- 返回示例
2.6. 通过配置内容查询配置
接口描述
通过该接口,可以通过配置内容查询对应配置的列表。
请求方式
GET
鉴权状态
需要具有对应命名空间读取
权限的用户身份。
请求URL
/nacos/nacos/v3/console/config/searchDetail
请求参数
参数名 | 类型 | 必填 | 参数描述 |
---|---|---|---|
pageNo | Integer | 是 | 当前页码,起始值为1。 |
pageSize | Integer | 是 | 每页显示的配置数量。 |
search | String | 否 | 查询模式,支持blur 和accurate ,分别对应模糊搜索和精确搜索,默认值accurate |
namespaceId | String | 否 | 命名空间ID,默认值为public 。 |
dataId | String | 否 | 配置ID,当search 为blur 时,可使用* 进行模糊搜索,例如test* ,当值为“或缺失时,查询全部符合groupName 条件的配置。 |
groupName | String | 否 | 配置分组,当search 为blur 时,可使用* 进行模糊搜索,例如test* ,当值为“或缺失时,查询全部符合dataId 条件的配置。 |
appName | String | 否 | 配置所属应用名称,默认为空,传入时过滤归属于此应用的配置,值为空时查询所有应用的配置。 |
configTags | String | 否 | 配置标签,多个标签之间用英文逗号分隔,默认为空,传入时过滤拥有此tag的配置,值为空时查询所有tag的配置。 |
type | String | 否 | 配置的类型,默认值为空,传入时过滤此类型的配置,值为空时查询所有类型的配置。 |
content | String | 否 | 配置内容,默认值为空,传入时过滤包含此内容的配置,值为空时查询所有内容的配置。 |
返回数据
返回体遵循Nacos open API 统一返回体格式,下表只阐述data
字段中的返回参数。
参数名 | 参数类型 | 描述 |
---|---|---|
id | String | 配置在存储系统中的ID,一般为Long类型的字符串。 |
dataId | String | 配置ID。 |
group | String | 配置分组。 |
tenant | String | 命名空间ID。 |
content | String | 配置内容。 |
md5 | String | 配置内容的MD5值。 |
encryptedDataKey | String | 加密配置内容的密钥,使用配置加密插件时存在。 |
appName | String | 配置所属的应用名称。 |
type | String | 配置类型。 |
示例
- 请求示例
- 返回示例
2.7. 查询配置的监听者列表
接口描述
通过该接口,可以查询指定配置的监听者列表。
请求方式
GET
鉴权状态
需要具有对应命名空间读取
权限的用户身份。
请求URL
/nacos/nacos/v3/console/config/listener
请求参数
参数名 | 类型 | 必填 | 参数描述 |
---|---|---|---|
dataId | String | 是 | 配置ID。 |
groupName | String | 是 | 配置分组。 |
namespaceId | String | 否 | 命名空间ID,默认值为public 。 |
返回数据
返回体遵循Nacos open API 统一返回体格式,下表只阐述data
字段中的返回参数。
参数名 | 参数类型 | 描述 |
---|---|---|
collectStatus | Integer | 订阅者查询状态,成功固定为200 。 |
lisentersGroupkeyStatus | Map<String, String> | 订阅者列表,key为订阅者IP,value为订阅者订阅当前配置的MD5值。 |
示例
- 请求示例
- 返回示例
2.8. 查询某个订阅者IP订阅了哪些配置
接口描述
通过该接口,可以查询某个订阅者IP订阅了哪些配置。
请求方式
GET
鉴权状态
需要具有对应命名空间读取
权限的用户身份。
请求URL
/nacos/nacos/v3/console/config/listener/ip
请求参数
参数名 | 类型 | 必填 | 参数描述 |
---|---|---|---|
ip | String | 是 | 订阅者IP。 |
namespaceId | String | 否 | 命名空间ID,默认值为public 。 |
返回数据
返回体遵循Nacos open API 统一返回体格式,下表只阐述data
字段中的返回参数。
参数名 | 参数类型 | 描述 |
---|---|---|
collectStatus | Integer | 订阅者查询状态,成功固定为200 。 |
lisentersGroupkeyStatus | Map<String, String> | 订阅者列表,key为订阅的配置信息,格式为dataId +groupName ,value为订阅者订阅当前配置的MD5值。 |
示例
- 请求示例
- 返回示例
2.9. 导出配置(旧版本格式)
接口描述
通过该接口,可以将所选或所查询的配置,导出的配置为zip文件,进行备份或导入到其他Nacos集群。
请求方式
GET
鉴权状态
需要具有对应命名空间读取
权限的用户身份。
请求URL
/nacos/nacos/v3/console/config/export
请求参数
参数名 | 类型 | 必填 | 参数描述 |
---|---|---|---|
dataId | String | 是 | 需要导出的配置ID的pattern,例如test* 。 |
groupName | String | 是 | 需要导出的配置分组的pattern,例如test* 。 |
ids | String | 是 | 需要导出的配置的存储ID,多个ID用英文逗号分隔。 |
namespaceId | String | 否 | 命名空间ID,默认值为public 。 |
appName | String | 否 | 需要导出的配置所属的应用名称。 |
使用时建议分开使用
ids
和dataId
+groupName
的组合,只选择一种方式,另一类传入空字符串,否则可能导致导出文件为空内容。
返回数据
导出成功是为byte数组的file attachment模式,导出失败时返回体遵循Nacos open API 统一返回体格式。
示例
- 请求示例
- 返回示例
2.10. 导出配置
接口描述
通过该接口,可以将所选或所查询的配置,导出的配置为zip文件,进行备份或导入到其他Nacos集群。
请求方式
GET
鉴权状态
需要具有对应命名空间读取
权限的用户身份。
请求URL
/nacos/nacos/v3/console/config/export2
请求参数
参数名 | 类型 | 必填 | 参数描述 |
---|---|---|---|
dataId | String | 是 | 需要导出的配置ID的pattern,例如test* 。 |
groupName | String | 是 | 需要导出的配置分组的pattern,例如test* 。 |
ids | String | 是 | 需要导出的配置的存储ID,多个ID用英文逗号分隔。 |
namespaceId | String | 否 | 命名空间ID,默认值为public 。 |
appName | String | 否 | 需要导出的配置所属的应用名称。 |
使用时建议分开使用
ids
和dataId
+groupName
的组合,只选择一种方式,另一类传入空字符串,否则可能导致导出文件为空内容。
返回数据
导出成功是为byte数组的file attachment模式,导出失败时返回体遵循Nacos open API 统一返回体格式。
示例
- 请求示例
- 返回示例
2.11. 导入配置
接口描述
通过该接口,可以将从Nacos导出的zip文件导入到Nacos的指定命名空间中
请求方式
POST
鉴权状态
需要具有对应命名空间写入
权限的用户身份。
请求URL
/nacos/nacos/v3/console/config/import
请求参数
参数名 | 类型 | 必填 | 参数描述 |
---|---|---|---|
file | MultipartFile | 是 | 导入的zip文件。 |
namespaceId | String | 否 | 导入的配置所属的命名空间ID,默认值为public 。 |
policy | SameConfigPolicy | 否 | 导入策略,当导入的配置dataId 和groupName 相同,存在冲突时,所进行的导入策略。可选值有ABORT(终止导入) ,SKIP(跳过冲突配置) ,OVERWRITE(覆盖冲突配置) 。默认值为ABORT 。 |
返回数据
返回体遵循Nacos open API 统一返回体格式,下表只阐述data
字段中的返回参数。
参数名 | 参数类型 | 描述 |
---|---|---|
succCount | int | 导入成功的配置数量。 |
skipCount | int | 导入跳过的配置数量。 |
示例
- 请求示例
- 返回示例
2.12. 克隆配置
接口描述
通过该接口,可以将所选或所查询的配置克隆到其他命名空间。
请求方式
POST
鉴权状态
需要具有对应命名空间写入
权限的用户身份。
请求URL
/nacos/nacos/v3/console/config/clone
请求参数
参数名 | 类型 | 必填 | 参数描述 |
---|---|---|---|
targetNamespaceId | String | 是 | 目标命名空间ID。 |
policy | SameConfigPolicy | 否 | 克隆策略,当导入的配置dataId 和groupName 相同,存在冲突时,所进行的克隆策略。可选值有ABORT(终止克隆) ,SKIP(跳过冲突配置) ,OVERWRITE(覆盖冲突配置) 。默认值为ABORT . |
body | List<SameNamespaceCloneConfigBean> | 是 | body 内容为HTTP请求的body,类型为application/json , 需要克隆的配置列表。 |
body [i].cfgId | String | 是 | 待克隆配置的存储ID。 |
body [i].dataId | String | 是 | 待克隆配置的目标dataId ,即克隆后,配置在新命名空间中的dataId 。 |
body [i].group | String | 是 | 待克隆配置的目标分组,即克隆后,配置在新命名空间中的groupName 。 |
返回数据
返回体遵循Nacos open API 统一返回体格式,下表只阐述data
字段中的返回参数。
参数名 | 参数类型 | 描述 |
---|---|---|
succCount | int | 成功克隆的配置数量。 |
skipCount | int | 克隆跳过的配置数量。 |
示例
- 请求示例
- 返回示例
2.13. 停止配置BETA发布
接口描述
通过该接口,可以将配置从BETA发布状态停止,即回滚配置的Beta发布状态。
请求方式
DELETE
鉴权状态
需要具有对应命名空间写入
权限的用户身份。
请求URL
/nacos/nacos/v3/console/config/beta
请求参数
参数名 | 类型 | 必填 | 参数描述 |
---|---|---|---|
dataId | String | 是 | 配置的dataId 。 |
groupName | String | 是 | 配置的groupName 。 |
namespaceId | String | 否 | 配置所属的命名空间ID,默认值为public 。 |
返回数据
返回体遵循Nacos open API 统一返回体格式,下表只阐述data
字段中的返回参数。
参数名 | 参数类型 | 描述 |
---|
示例
- 请求示例
- 返回示例
2.14. 查询配置Beta发布状态
接口描述
通过该接口,可以查询配置的BETA发布状态。
请求方式
GET
鉴权状态
需要具有对应命名空间读取
权限的用户身份。
请求URL
/nacos/nacos/v3/console/config/beta
请求参数
参数名 | 类型 | 必填 | 参数描述 |
---|---|---|---|
dataId | String | 是 | 配置的dataId 。 |
groupName | String | 是 | 配置的groupName 。 |
namespaceId | String | 否 | 配置所属的命名空间ID,默认值为public 。 |
返回数据
返回体遵循Nacos open API 统一返回体格式,下表只阐述data
字段中的返回参数。
参数名 | 参数类型 | 描述 |
---|---|---|
id | String | beta配置的存储ID。 |
dataId | String | 配置的dataId。 |
group | String | 配置的groupName。 |
tenant | String | 配置所属的命名空间。 |
content | String | 配置的beta内容。 |
md5 | String | 配置的md5。 |
encryptedDataKey | String | 配置的密钥,仅在使用配置加密插件时存在。 |
appName | String | 配置所属的appName。 |
type | String | 配置的类型。 |
betaIps | String | beta发布状态的IP列表。 |
lastModified | long | 配置的修改时间戳。 |
示例
- 请求示例
- 返回示例
2.15. 查询配置发布历史
接口描述
通过该接口,可以查询配置的发布历史。
请求方式
GET
鉴权状态
需要具有对应命名空间读取
权限的用户身份。
请求URL
/nacos/v3/console/cs/history/list
请求参数
参数名 | 类型 | 必填 | 参数描述 |
---|---|---|---|
pageNo | int | 是 | 当前页码,起始为1 |
pageSize | int | 是 | 每页显示的记录数。 |
dataId | String | 是 | 配置的dataId 。 |
groupName | String | 是 | 配置的groupName 。 |
namespaceId | String | 否 | 配置所属的命名空间ID,默认值为public 。 |
返回数据
返回体遵循Nacos open API 统一返回体格式,下表只阐述data
字段中的返回参数。
参数名 | 参数类型 | 描述 |
---|---|---|
totalCount | int | 历史记录的总数。 |
pageNumber | int | 当前页码,起始为1 。 |
pagesAvailable | int | 可用页码。 |
pageItems | List | 历史记录列表。 |
pageItems [i].id | String | 历史记录的ID。 |
pageItems [i].dataId | String | 配置的dataId。 |
pageItems [i].group | String | 配置的groupName。 |
pageItems [i].tenant | String | 配置所属的命名空间。 |
pageItems [i].appName | String | 配置所属的appName。 |
pageItems [i].opType | String | 操作类型,I 为插入、U 为更新、D 为删除。 |
pageItems [i].publishType | String | 发布类型,formal 为普通发布,gray 为beta发布。 |
其他字段暂时未启用,为预留字段。
示例
- 请求示例
- 返回示例
2.16. 查询配置的某次历史变更记录
接口描述
通过该接口,可以查询配置的某次历史变更记录。
请求方式
GET
鉴权状态
需要具有对应命名空间读取
权限的用户身份。
请求URL
/nacos/v3/console/cs/history
请求参数
参数名 | 类型 | 必填 | 参数描述 |
---|---|---|---|
nid | String | 是 | 历史记录的ID。 |
dataId | String | 是 | 配置的dataId。 |
groupName | String | 是 | 配置的groupName。 |
namespaceId | String | 否 | 配置所属的命名空间ID,默认值为public 。 |
返回数据
返回体遵循Nacos open API 统一返回体格式,下表只阐述data
字段中的返回参数。
参数名 | 参数类型 | 描述 |
---|---|---|
id | String | 历史记录的ID。 |
dataId | String | 配置的dataId。 |
group | String | 配置的groupName。 |
tenant | String | 配置所属的命名空间。 |
appName | String | 配置所属的appName。 |
opType | String | 操作类型,I 为插入、U 为更新、D 为删除。 |
publishType | String | 发布类型,formal 为普通发布,gray 为beta发布。 |
其他字段暂时未启用,为预留字段。
示例
- 请求示例
- 返回示例
2.17. 查询配置最新状态的前一次变更历史
接口描述
通过该接口,可以查询配置最新状态的前一次变更历史。
请求方式
GET
鉴权状态
需要具有对应命名空间读取
权限的用户身份。
请求URL
/nacos/v3/console/cs/history/previous
请求参数
参数名 | 类型 | 必填 | 参数描述 |
---|---|---|---|
id | String | 是 | 配置的存储ID。 |
dataId | String | 是 | 配置的dataId。 |
groupName | String | 是 | 配置的groupName。 |
namespaceId | String | 否 | 配置所属的命名空间ID,默认值为public 。 |
返回数据
返回体遵循Nacos open API 统一返回体格式,下表只阐述data
字段中的返回参数。
参数名 | 参数类型 | 描述 |
---|---|---|
id | String | 历史记录的ID。 |
dataId | String | 配置的dataId。 |
group | String | 配置的groupName。 |
tenant | String | 配置所属的命名空间。 |
appName | String | 配置所属的appName。 |
opType | String | 操作类型,I 为插入、U 为更新、D 为删除。 |
publishType | String | 发布类型,formal 为普通发布,gray 为beta发布。 |
其他字段暂时未启用,为预留字段。
示例
- 请求示例
- 返回示例
2.18. 查询命名空间下的配置列表
接口描述
通过该接口,可以查询命名空间下的配置列表,仅查询dataId和groupName,用于配置历史UI的下拉选择。
请求方式
GET
鉴权状态
需要具有对应命名空间读取
权限的用户身份。
请求URL
/nacos/v3/console/cs/history/configs
请求参数
参数名 | 类型 | 必填 | 参数描述 |
---|---|---|---|
namespaceId | String | 否 | 配置所属的命名空间ID,默认值为public 。 |
返回数据
返回体遵循Nacos open API 统一返回体格式,下表只阐述data
字段中的返回参数。
参数名 | 参数类型 | 描述 |
---|---|---|
dataId | String | 配置的dataId。 |
group | String | 配置的groupName。 |
其他字段均无用。
示例
- 请求示例
- 返回示例
3. 服务管理
3.1. 创建服务
接口描述
通过该接口,可以创建一个空服务。
请求方式
POST
鉴权状态
需要具有对应命名空间写入
权限的用户身份。
请求URL
/nacos/v3/console/ns/service
请求参数
参数名 | 类型 | 必填 | 参数描述 |
---|---|---|---|
serviceName | String | 是 | 服务名。 |
groupName | String | 否 | 服务所属的groupName,默认值为DEFAULT_GROUP 。 |
namespaceId | String | 否 | 服务所属的命名空间ID,默认值为public 。 |
protectThreshold | String | 否 | 服务的防护阈值,默认值为0.0 。 |
selector | jsonString | 否 | 服务的路由选择器,默认值为{"type":"none"} ,无选择器,另外还支持通过label 进行路由。 |
metadata | Map<String, String> | 否 | 服务的元数据,默认值为{} 。 |
ephemeral | Boolean | 否 | 服务是否临时,默认值为false 即持久化服务。 |
返回数据
返回体遵循Nacos open API 统一返回体格式,下表只阐述data
字段中的返回参数。
参数名 | 参数类型 | 描述 |
---|---|---|
data | String | 创建成功时,固定为ok 。 |
示例
- 请求示例
- 返回示例
3.2. 删除服务
接口描述
通过该接口,可以删除一个服务。
请求方式
DELETE
鉴权状态
需要具有对应命名空间写入
权限的用户身份。
请求URL
/nacos/v3/console/ns/service
请求参数
参数名 | 类型 | 必填 | 参数描述 |
---|---|---|---|
serviceName | String | 是 | 服务名。 |
groupName | String | 否 | 服务所属的groupName,默认值为DEFAULT_GROUP 。 |
namespaceId | String | 否 | 服务所属的命名空间ID,默认值为public 。 |
返回数据
返回体遵循Nacos open API 统一返回体格式,下表只阐述data
字段中的返回参数。
参数名 | 参数类型 | 描述 |
---|---|---|
data | String | 删除成功时,固定为ok 。 |
示例
- 请求示例
- 返回示例
3.3. 更新服务元数据
接口描述
通过该接口,可以更新一个服务的元数据。仅能更新服务的元数据,如metadata
、selector
等。服务的serviceName、groupName、namespaceId等不能更新。
请求方式
PUT
鉴权状态
需要具有对应命名空间写入
权限的用户身份。
请求URL
/nacos/v3/console/ns/service
请求参数
参数名 | 类型 | 必填 | 参数描述 |
---|---|---|---|
serviceName | String | 是 | 服务名。 |
groupName | String | 否 | 服务所属的groupName,默认值为DEFAULT_GROUP 。 |
namespaceId | String | 否 | 服务所属的命名空间ID,默认值为public 。 |
protectThreshold | String | 否 | 服务的防护阈值,默认值为0.0 。 |
selector | jsonString | 否 | 服务的路由选择器,默认值为{"type":"none"} ,无选择器,另外还支持通过label 进行路由。 |
metadata | Map<String, String> | 否 | 服务的元数据,默认值为{} 。 |
返回数据
返回体遵循Nacos open API 统一返回体格式,下表只阐述data
字段中的返回参数。
参数名 | 参数类型 | 描述 |
---|---|---|
data | String | 更新成功时,固定为ok 。 |
示例
- 请求示例
- 返回示例
3.4. 获取支持的服务路由选择器类型列表
接口描述
通过该接口,可以获取支持的服务路由选择器类型列表,用于控制台UI在创建和更新服务时,选择对应的路由选择器类型的下拉选择框。
请求方式
GET
鉴权状态
公开接口,无需身份信息。
请求URL
/nacos/v3/console/ns/service/selector/types
请求参数
无
返回数据
返回体遵循Nacos open API 统一返回体格式,下表只阐述data
字段中的返回参数。
参数名 | 参数类型 | 描述 |
---|---|---|
label | String | 通过label表达式进行路由选择过滤。 |
none | String | 无选择器。 |
示例
- 请求示例
- 返回示例
3.5. 查询服务列表
接口描述
通过该接口,可以查询指定命名空间下的服务列表。
请求方式
GET
鉴权状态
需要具有对应命名空间读取
权限的用户身份。
请求URL
/nacos/v3/console/ns/service/list
请求参数
参数名 | 类型 | 必填 | 参数描述 |
---|---|---|---|
pageNo | Integer | 是 | 页码,起始为1 。 |
pageSize | Integer | 是 | 每页显示条数。 |
serviceNameParam | String | 否 | 服务名的pattern,为空时查询所有服务。 |
groupNameParam | String | 否 | 服务所属的groupName的pattern,为空时查询所有服务。 |
namespaceId | String | 否 | 服务所属的命名空间ID。 |
hasIpCount | Boolean | 否 | 是否仅返回有实例的服务,默认为false ,即查询空服务。 |
withInstances | Boolean | 否 | 是否只返回服务的实例详情,默认为false 。 |
返回数据
返回体遵循Nacos open API 统一返回体格式,下表只阐述data
字段中的返回参数。
参数名 | 参数类型 | 描述 |
---|
示例
- 请求示例
- 返回示例
3.6. 查询服务的订阅者列表
接口描述
通过该接口,可以查询指定服务下的订阅者列表。
请求方式
GET
鉴权状态
需要具有对应命名空间读取
权限的用户身份。
请求URL
/nacos/v3/console/ns/service/subscribers
请求参数
参数名 | 类型 | 必填 | 参数描述 |
---|---|---|---|
pageNo | Integer | 是 | 页码,起始为1 。 |
pageSize | Integer | 是 | 每页显示条数。 |
serviceName | String | 是 | 服务名。 |
groupName | String | 否 | 服务所属的groupName,默认值为DEFAULT_GROUP 。 |
namespaceId | String | 否 | 服务所属的命名空间ID,默认值为public 。 |
返回数据
返回体遵循Nacos open API 统一返回体格式,下表只阐述data
字段中的返回参数。
参数名 | 参数类型 | 描述 |
---|---|---|
count | Integer | 订阅者总数。 |
subscribers | List | 订阅者列表。 |
subscribers [i].ip | String | 订阅者IP。 |
subscribers [i].port | Integer | 订阅者端口。 |
subscribers [i].addrStr | String | 订阅者地址, 一般为ip:port 。 |
subscribers [i].agent | String | 订阅者客户端版本。 |
subscribers [i].app | String | 订阅者所属应用。 |
subscribers [i].cluster | String | 订阅者所属集群。 |
subscribers [i].namespaceId | String | 订阅者所属命名空间。 |
subscribers [i].serviceName | String | 订阅的服务名, 格式为groupName @@serviceName 。 |
示例
- 请求示例
- 返回示例
3.7. 查询服务详情
接口描述
通过该接口,可以查询指定服务详情。
请求方式
GET
鉴权状态
需要具有对应命名空间读取
权限的用户身份。
请求URL
/nacos/v3/console/ns/service
请求参数
参数名 | 类型 | 必填 | 参数描述 |
---|---|---|---|
serviceName | String | 是 | 服务名。 |
groupName | String | 否 | 服务所属的groupName,默认值为DEFAULT_GROUP 。 |
namespaceId | String | 否 | 服务所属的命名空间ID,默认值为public 。 |
返回数据
返回体遵循Nacos open API 统一返回体格式,下表只阐述data
字段中的返回参数。
参数名 | 参数类型 | 描述 |
---|---|---|
service | jsonObject | 服务详情。 |
service .name | String | 服务名。 |
service .groupName | String | 服务所属的groupName。 |
service .protectThreshold | Double | 服务防护阈值。 |
service .selector | jsonObject | 服务选择器。 |
service .metadata | jsonObject | 服务元数据。 |
clusters | List | 服务集群列表。 |
clusters [i].name | String | 集群名。 |
clusters [i].serviceName | String | 服务名,格式为groupName @@serviceName 。 |
clusters [i].healthChecker | jsonObject | 健康检查器。 |
clusters [i].defaultCheckPort | int | 健康检查端口。 |
clusters [i].useIPPort4Check | Boolean | 是否使用所注册的实例的IP:Port 进行健康检查。 |
clusters [i].metadata | jsonObject | 集群元数据。 |
clusters [i].defaultPort | int | 健康检查端口,已废弃,请使用defaultCheckPort ,固定为80 。 |
示例
- 请求示例
- 返回示例
3.8. 更新服务集群元数据
接口描述
通过该接口,可以更新指定服务集群的元数据。
请求方式
PUT
鉴权状态
需要具有对应命名空间写入
权限的用户身份。
请求URL
/nacos/v3/console/ns/service/cluster
请求参数
参数名 | 类型 | 必填 | 参数描述 |
---|---|---|---|
clusterName | String | 是 | 集群名。 |
serviceName | String | 是 | 服务名。 |
checkPort | int | 是 | 健康检查端口。 |
useIPPort4Check | Boolean | 是 | 是否使用所注册的实例的IP:Port 进行健康检查。 |
healthChecker | jsonString | 是 | 健康检查器。 |
groupName | String | 否 | 服务所属的groupName,默认值为DEFAULT_GROUP 。 |
namespaceId | String | 否 | 服务所属的命名空间ID,默认值为public 。 |
metadata | Map<String, String> | 否 | 服务元数据。 |
healthChecker
参数为健康检查器的JSON字符串,目前支持三种健康检查器:
None
: 无健康检查,{"type":"NONE"}
TCP
: TCP端口检查,{"type":"TCP"}
HTTP
: HTTP端口检查,{"type":"HTTP","path":"/liveness","headers":"health"}
, 其中path
为HTTP的uri,headers
为HTTP请求头。
返回数据
返回体遵循Nacos open API 统一返回体格式,下表只阐述data
字段中的返回参数。
参数名 | 参数类型 | 描述 |
---|---|---|
data | String | 更新成功时,固定为ok 。 |
示例
- 请求示例
- 返回示例
3.9. 查询服务的实例列表
接口描述
通过该接口,可以查询指定服务的实例列表。
请求方式
GET
鉴权状态
需要具有对应命名空间读取
权限的用户身份。
请求URL
/nacos/v3/console/ns/instance/list
请求参数
参数名 | 类型 | 必填 | 参数描述 |
---|---|---|---|
pageNo | int | 是 | 页码,起始为1。 |
pageSize | int | 是 | 每页记录数。 |
serviceName | String | 是 | 服务名。 |
groupName | String | 否 | 服务所属的groupName,默认值为DEFAULT_GROUP 。 |
namespaceId | String | 否 | 服务所属的命名空间ID,默认值为public 。 |
healthyOnly | Boolean | 否 | 是否只返回健康实例。 |
enabledOnly | Boolean | 否 | 是否只返回未下线实例。 |
返回数据
返回体遵循Nacos open API 统一返回体格式,下表只阐述data
字段中的返回参数。
参数名 | 参数类型 | 描述 |
---|---|---|
count | int | 实例总数。 |
instances | List<Instance> | 实例列表。 |
instances [i].instanceId | String | 实例ID。 |
instances [i].ip | String | 实例IP。 |
instances [i].port | int | 实例端口。 |
instances [i].weight | double | 实例权重。 |
instances [i].healthy | Boolean | 实例是否健康。 |
instances [i].enabled | Boolean | 实例是否已上线。 |
instances [i].ephemeral | Boolean | 实例是否临时。 |
instances [i].clusterName | String | 实例所属集群。 |
instances [i].serviceName | String | 实例所属服务,格式为groupName @@serviceName 。 |
instances [i].metadata | Map<String, String> | 实例元数据。 |
示例
- 请求示例
- 返回示例
3.10. 更新实例元数据
接口描述
通过该接口,可以更新指定服务的实例元数据,包括权重和上下线状态;无法更新实例的服务名、分组名、命名空间、IP及端口。
请求方式
PUT
鉴权状态
需要具有对应命名空间写入
权限的用户身份。
请求URL
/nacos/v3/console/ns/instance
请求参数
参数名 | 类型 | 必填 | 参数描述 |
---|---|---|---|
serviceName | String | 是 | 服务名。 |
ip | String | 是 | 实例IP。 |
port | int | 是 | 实例端口。 |
groupName | String | 否 | 服务所属的groupName,默认值为DEFAULT_GROUP 。 |
namespaceId | String | 否 | 服务所属的命名空间ID,默认值为public 。 |
clusterName | String | 否 | 实例所属集群, 默认值为DEFAULT 。 |
ephemeral | Boolean | 否 | 实例是否临时,默认值为true 。 |
weight | double | 否 | 实例权重。 |
enabled | Boolean | 否 | 实例是否已上线。 |
metadata | Map<String, String> | 否 | 实例元数据。 |
返回数据
返回体遵循Nacos open API 统一返回体格式,下表只阐述data
字段中的返回参数。
参数名 | 参数类型 | 描述 |
---|---|---|
data | String | 更新成功时,固定为ok 。 |
示例
- 请求示例
- 返回示例