ZooKeeper Zookeeper::create
(PECL zookeeper >= 0.1.0)
Zookeeper::create — 동기식으로 노드 생성
설명
public Zookeeper::create( string $path, string $value, array $acls, int $flags = null ): string
이 메소드는 ZooKeeper에 노드를 생성합니다. 노드가 아직 존재하지 않는 경우에만 생성할 수 있습니다. 생성 플래그는 노드 생성에 영향을 줍니다. ZOO_EPHEMERAL 플래그가 설정되면 클라이언트 세션이 사라지면 노드가 자동으로 제거됩니다. ZOO_SEQUENCE 플래그가 설정되면 단조 증가하는 고유한 시퀀스 번호가 경로 이름에 추가됩니다.
매개변수
path
- 노드의 이름입니다. 노드의 상위 항목을 구분하는 슬래시가 있는 파일 이름으로 표현됩니다.
value
- 노드에 저장할 데이터입니다.
acls
- 노드의 초기 ACL입니다. ACL은 null이거나 비어 있으면 안 됩니다.
flags
- 이 매개변수는 일반 생성의 경우 0으로 설정하거나 플래그 생성의 OR로 설정할 수 있습니다.
반환 값
성공하면 새 노드의 경로(ZOO_SEQUENCE 플래그로 인해 제공된 경로와 다를 수 있음)를 반환하고 실패하면 false를 반환합니다.
오류/예외
이 메소드는 매개변수 개수 또는 유형이 잘못되었거나 노드 생성에 실패할 때 PHP 오류/경고를 내보냅니다.
주의 버전 0.3.0부터 이 메소드는 ZookeeperException과 파생 상품을 내보냅니다.
Examples
예제 #1 Zookeeper::create() 예제
새 노드를 만듭니다.
<?php
$zookeeper = new Zookeeper('locahost:2181');
$aclArray = array(
array(
'perms' => Zookeeper::PERM_ALL,
'scheme' => 'world',
'id' => 'anyone',
)
);
$path = '/path/to/newnode';
$realPath = $zookeeper->create($path, null, $aclArray);
if ($realPath)
echo $realPath;
else
echo 'ERR';
?>
위의 예는 다음을 출력합니다.
/path/to/newnode
기타
- Zookeeper::delete() - Zookeeper에서 노드를 동기적으로 삭제
- Zookeeper::getChildren() - 노드의 자식을 동기적으로 나열합니다.
- ZooKeeper Permissions
- ZookeeperException