用于nacos的python客户端。
nacos-sdk-python的Python项目详细描述
nacos sdk python
NacosOpenAPI的Python实现。
参见:https://nacos.io/zh-cn/docs/open-api.html
支持的Python版本:
蟒蛇2.7 Python 3.6 蟒蛇3.7
支持的NACOS版本
纳科斯0.8.0
安装
pip install nacos-sdk-python
开始
importnacosSERVER_ADDRESSES="server addresses split by comma"NAMESPACE="***"client=nacos.NacosClient(SERVER_ADDRESSES,namespace=NAMESPACE)# get configdata_id="config.nacos"group="group"print(client.get_config(data_id,group))
配置
client = NacosClient(server_addresses, namespace=your_ns)
- 服务器地址-必需-NACOS服务器地址,如果超过1,则用逗号分隔。
- 命名空间-命名空间。|默认值:
无
附加选项
可通过设置选项设置额外选项,如下所示:
client.set_options({key}={value})
可配置的选项有:
- 默认超时-从服务器获取配置的默认超时(秒)。
- 拉入超时-长轮询超时(秒)。
- 拉取配置大小-一个轮询进程监听的最大配置项目数。
- 回调线程数-调用回调的并发性。
- 故障转移库-存储故障转移配置文件的目录。
- 快照库-存储快照配置文件的目录。
- 无快照-若要禁用默认快照行为,可以通过get方法中的paramno_snapshot重写此操作。
API参考
获取配置
< Buff行情>nacosclient.get_config(数据标识、组、超时、无快照)
param
数据id数据id.param
组如果未指定组,请使用默认组。param
请求服务器超时(秒)。param
没有快照服务器不可用时是否使用本地快照。返回
W 按优先级获取一个配置项的值:步骤1-从本地故障转移目录获取(默认值:
${cwd}/nacos data/data
)。- 可以提前从快照目录(默认:
${cwd}/nacos data/snapshot
)手动复制故障转移目录。 - 这有助于抑制已知服务器故障的影响。
- 可以提前从快照目录(默认:
步骤2-从一台服务器获取,直到获取值或尝试所有服务器。
- 从服务器获取内容后,内容将保存到快照目录。
步骤3-从快照目录获取。
添加观察者
< Buff行情>nacosclient.add_config_watchers(data_id,group,cb_list)
param
数据id数据id.param
组如果未指定组,请使用默认组
。param
cb_list要添加的回调函数列表。返回
将监视程序添加到指定的配置项。
- 更改或删除项目后,将调用回调函数。
- 如果该项已存在于服务器中,则回调函数将被调用一次。
- 允许对一个项进行多次回调,并且所有回调函数都由
threading.thread
- 从curr调用回调函数耳鼻喉科手术。
删除监视程序
< Buff行情>nacosclient.remove_config_watcher(数据ID、组、CB、全部删除)
param
数据id数据id.param
组如果未指定组,请使用"默认组"。param
cb要删除的回调函数。param
全部删除是删除所有出现的回调还是只删除一次。返回
从指定的键中删除观察程序。
发布配置
< Buff行情>nacosclient.publish配置(数据标识、组、内容、超时)
param
数据id数据id.param
组如果未指定组,请使用"默认组"。参数
内容配置值。param
请求服务器超时(秒)。如果成功或将引发异常,则返回
true。
将一个数据项发布到NACOS。
- 如果数据密钥不存在,请先创建一个。
- 如果数据密钥存在,请更新到指定的内容。
- 内容不能设置为"无",如果需要删除配置项,请改用"删除"功能。
删除配置
< Buff行情>nacosclient.remove配置(数据标识、组、超时)
param
数据id数据id.param
组如果未指定组,请使用"默认组"。param
请求服务器超时(秒)。如果成功或将引发异常,则返回
true。
从NACOS中删除一个数据项。
注册实例
< Buff行情>nacosclient.add_naming_instance(service_name,ip,port,cluster_name,weight,metadata,enable,healthy)
param
要注册到的服务名称必需服务名称。param
IP必需的实例的IP。param
端口必需实例的端口。param
要注册的群集名群集。param
weight负载平衡重量的浮点数。param
元数据JSON字符串格式的额外信息。param
enable一个bool值,用于确定实例是否已启用。param
健康一个bool值,用于确定实例是否健康。如果成功或将引发异常,则返回
true。
注销实例
< Buff行情>nacosclient.remove_naming_instance(服务名称、IP、端口、群集名称)
param
要注销的服务名称必需服务名称。param
IP必需的实例的IP。param
端口必需实例的端口。param
要从中注销的群集名如果成功或将引发异常,则返回
true。
修改实例
< Buff行情>nacosclient.modify_naming_instance(service_name,ip,port,cluster_name,weight,metadata,enable)
参数
服务名称必需服务名称。param
IP必需的实例的IP。param
端口必需实例的端口。参数
群集名称群集名称。参数de>重量负载平衡重量的浮点数。
param
元数据JSON字符串格式的额外信息。param
enable一个bool值,用于确定实例是否已启用。如果成功或将引发异常,则返回
true。
查询实例
< Buff行情>nacosclient.list_naming_instance(仅限服务名称、群集、正常状态)
param
服务名称必需要查询的服务名称。param
群集用逗号分隔的群集名称。param
仅健康查询健康实例的bool值。返回
实例信息列表(如果成功或出现异常)。
查询实例详细信息
< Buff行情>nacosclient.get_naming_instance(服务名称、IP、端口、群集名称)
参数
服务名称必需服务名称。param
IP必需的实例的IP。param
端口必需实例的端口。参数
群集名称群集名称。返回
如果成功或将引发异常,则返回实例信息。
发送实例节拍
< Buff行情>nacosclient.send_heartbeat(服务名称、IP、端口、集群名称、权重、元数据)
参数
服务名称必需服务名称。param
IP必需的实例的IP。param
端口必需实例的端口。param
要注册的群集名群集。param
weight负载平衡重量的浮点数。param
元数据JSON字符串格式的额外信息。返回
如果成功或将引发异常,则json对象包含服务器建议的节拍间隔。
调试模式
调试模式(如果有助于获得更详细的控制台登录信息)。
调试模式可通过设置:
NacosClient.set_debugging()
# only effective within the current process