nacos-sdk-python
A Python implementation of Nacos OpenAPI.
Supported Python version:
Python 2.7
Python 3.6
Python 3.7
Supported Nacos version
Nacos 0.8.0
nacos 1.1.0 后新增了权限控制模块,旧API需要先登陆拿token才能正常调用,该包在原SDK上增加了登陆的逻辑
使用方法
python setup.py install
或
git clone ....
from nacos.client import NacosClient
方法
ak , sk为账号密码
#初始化
def __init__(self, server_addresses, endpoint=None, namespace=None, ak=None, sk=None)
#开启debug
@staticmethod
def set_debugging():
#获取配置
get_config(self, data_id, group, timeout=None, no_snapshot=None):
#发布配置
publish_config(self, data_id, group, content, timeout=None)
#删除配置
remove_config(self, data_id, group, timeout=None)
#添加监听,cb_list为回调函数列表[call_back,call_back....]
add_config_watchers(self, data_id, group, cb_list)
#删除监听
remove_config_watcher(self, data_id, group, cb, remove_all=False):
#添加实例
add_naming_instance(self, service_name, ip, port, cluster_name="", weight=1.0, metadata="",
enable=True, healthy=True)
#删除实例
remove_naming_instance(self, service_name, ip, port, cluster_name=None)
#修改实例
modify_naming_instance(self, service_name, ip, port, cluster_name=None, weight=None, metadata=None,
enable=None)
#列举实例
list_naming_instance(self, service_name, clusters=None, healthy_only=False)
#获取实例
get_naming_instance(self, service_name, ip, port, cluster_name=None)
#发送心跳
send_heartbeat(self, service_name, ip, port, cluster_name=None, weight=1.0, metadata=None)
#
增加逻辑源码,即每次调用都登陆拿token
...
def _get_common_headers(self, timeout):
server_info = self.get_server()
all_headers = {}
timeout = timeout or self.default_timeout
method = "POST"
if not server_info:
logger.error("