我正在尝试使用与 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) 中修复。