Skip to main content
 首页 » 编程设计

python之是否有办法通过 python 绑定(bind)为 Zookeeper 节点提供 NULL ACL

2024年01月28日15TianFang

我正在尝试使用与 Zookeeper 发行版( src/contrib/zkpython/)捆绑在一起的 python 绑定(bind)创建一个节点。使用zookeeper-3.3.1。

create 的 pydoc 指出,如果 ACL 为 NULL,则该节点将继承其父级 ACL,但是将此参数设置为 None 会导致无效的 ACL 异常。

我查看了parse_acls在zookeeper.c中,它似乎与pydoc冲突,但我对py c api没有太多经验。

如果我无法将此 ACL 设置为 null,是否还有其他 ACL 会导致它从父级继承?

请您参考如下方法:

我也遇到了同样的问题,没有找到解决办法。作为解决方法,您可以添加一个额外的步骤。示例:

import zookeeper as zk 
parent_path = "/" 
stat, acl = zk.get_acl(zoohandle, parent_path) 
ret = zk.create(zoohandle, node_path, "", acl, 0) 

进一步提示:在zookeeper-3.3.1中,zk.get()最多仅返回512字节的节点数据。这应该在下一个版本 (3.3.3) 中修复。