create()$path = $zkh->create($req_path, $data);$path = $zkh->create($req_path, $data, 'flags' => (ZOO_EPHEMERAL | ZOO_SEQUENCE), 'acl' => ZOO_OPEN_ACL_UNSAFE, 'path_read_len' => 100); 请求一个节点被创建在ZooKeeper cluster的层级使用给定的path和数据,一旦成功,返回节点的路径,否则undefpath返回同一个成功的create()方法可能不是新节点的完整路径 ,依赖实际路径的长度和handle object的path_read_len attribute的值如果 实际路径的值 超过了path_read_len 属性的值,路径返回通过create()方法会被截断,注意 节点的path 在e ZooKeeper hierarchy 是不受截断的影响指定一个 值用于 'path_read_len' 选项会临时覆盖 path_read_len 属性的值对于create()方法期间flag 值可用的对于使用'flags'选项是ZOO_EPHEMERAL and ZOO_SEQUENCE;两者都包含在 :flags tagset.ZOO_EPHEMERAL flag 导致节点被标记为临时节点, 意味着它会自动的删除 如果 客户端的会话结束。ZOO_SEQUENCE flag 会导致一个唯一的整型被应用到节点的最终路径组成。use Net::ZooKeeper qw(:node_flags :acls); my $zkh = Net::ZooKeeper->new('localhost:7000'); $zkh->create('/foo', 'bar', 'flags' => ZOO_EPHEMERAL, 'acl' => ZOO_OPEN_ACL_UNSAFE) or die("unable to create node /foo: " . $zkh->get_error() . "\n"); 当你创建一个节点它可能是重要的顶一个ACL,要做到这一点, 传递一个引用到一个ACL array(在 "Access Control" 描述)使用一个'acl'选项。