【问题标题】:Is there anyway to give a Zookeeper node a NULL ACL via python-bindings?无论如何通过python绑定给Zookeeper节点一个NULL ACL?
【发布时间】:2011-05-18 19:31:42
【问题描述】:

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

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

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

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

【问题讨论】:

    标签: python apache-zookeeper


    【解决方案1】:

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

    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) 中修复。

    【讨论】:

    • 我会检查一下这个方法。我正在试验 ZOO_CREATOR_ALL_ACL; //(ZOO_PERM_ALL,ZOO_AUTH_IDS)。我主要担心的是,如果我要更改摘要授权用户的密码,我希望避免遍历所有节点来更新摘要。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-02-21
    • 1970-01-01
    • 2017-09-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多