List Shards API
List Shards API
2.18에서 도입
list shards 작업은 모든 기본(primary)·복제(replica) 샤드의 상태와 그 분포를 페이지 단위(paginated) 형식으로 출력해요.
출처: 문서
본문
엔드포인트 (Endpoints)
GET _list/shards
GET _list/shards/{index}
쿼리 매개변수 (Query parameters)
모든 매개변수는 선택 사항이에요.
| 매개변수 | 타입 | 설명 |
|---|---|---|
bytes |
Byte size | 바이트 크기 단위를 지정해요. 예: 7kb 또는 6gb. 자세한 내용은 지원 단위를 참고해요. |
local |
Boolean | 클러스터 매니저 노드가 아닌 로컬 노드의 정보만 반환할지 여부예요. 기본값은 false예요. |
cluster_manager_timeout |
Time | 클러스터 매니저 노드에 연결되기를 기다리는 시간이에요. 기본값은 30s예요. |
cancel_after_time_interval |
Time | 이 시간이 지나면 샤드 요청이 취소돼요. 기본값은 -1(타임아웃 없음)이에요. |
time |
Time | 시간 단위를 지정해요. 예: 5d 또는 7h. 자세한 내용은 지원 단위를 참고해요. |
next_token |
String | 다음 페이지의 인덱스를 가져와요. null이면 첫 페이지의 인덱스만 제공해요. 기본값은 null이에요. |
size |
Integer | 단일 페이지에 표시할 인덱스의 최대 수예요. 응답의 한 페이지에 있는 인덱스 수는 지정한 size와 항상 같지는 않아요. 기본값 및 최솟값은 2000, 최댓값은 20000이에요. |
sort |
String | 인덱스가 표시되는 순서예요. desc면 가장 최근에 생성된 인덱스부터, asc면 가장 오래된 인덱스부터 표시돼요. 기본값은 asc예요. |
next_token 경로 매개변수를 쓸 때는 응답이 만들어낸 토큰을 사용해서 다음 페이지의 인덱스를 볼 수 있어요. API가 null을 반환하면 API에 포함된 모든 인덱스가 반환된 거예요.
예시 요청 (Example requests)
모든 인덱스와 샤드의 정보를 얻으려면 다음 쿼리를 쓰고, 응답의 next_token이 null이 될 때까지 계속 지정해줘요:
GET _list/shards/{index}?v&next_token=token
정보를 특정 인덱스로 제한하려면 쿼리 뒤에 인덱스 이름을 붙이고, next_token이 null이 될 때까지 계속 지정해줘요:
GET /_list/shards/<index>?v&next_token=token
Python 클라이언트로는 이렇게 호출해요:
response = client.list.shards(
index = "<index>",
params = { "v": "true", "next_token": "token" }
)
여러 인덱스의 정보를 얻으려면 인덱스를 쉼표로 구분해요:
GET /_list/shards/index1,index2,index3?v&next_token=token
Python 클라이언트로는 이렇게 호출해요:
response = client.list.shards(
index = "index1,index2,index3",
params = { "v": "true", "next_token": "token" }
)
예시 응답 (Example response)
평문(Plain text) 형식
index | shard | prirep | state | docs | store | ip | | node
plugins | 0 | p | STARTED | 0 | 208b | 172.18.0.4 | odfe-node1
plugins | 0 | r | STARTED | 0 | 208b | 172.18.0.3 | odfe-node2
....
....
next_token MTcyOTE5NTQ5NjM5N3wub3BlbnNlYXJjaC1zYXAtbG9nLXR5cGVzLWNvbmZpZw==
JSON 형식
{
"next_token": "MTcyOTE5NTQ5NjM5N3wub3BlbnNlYXJjaC1zYXAtbG9nLXR5cGVzLWNvbmZpZw==",
"shards": [
{
"index": "plugins",
"shard": "0",
"prirep": "p",
"state": "STARTED",
"docs": "0",
"store": "208B",
"ip": "172.18.0.4",
"node": "odfe-node1"
},
{
"index": "plugins",
"shard": "0",
"prirep": "r",
"state": "STARTED",
"docs": "0",
"store": "208B",
"ip": "172.18.0.3",
"node": "odfe-node2"
}
]
}