Blocks API
Blocks API
1.0에서 도입되었어요. Blocks API로 지정한 인덱스의 특정 작업을 제한할 수 있어요. 블록 유형에 따라 인덱스의 쓰기, 읽기, 메타데이터 작업을 제한할 수 있어요. 예를 들어 API로 쓰기 블록을 추가하면, 성공 응답을 반환하기 전에 모든 인덱스 샤드가 해당 블록을 제대로 반영했는지 확인해요. 쓰기 블록이 적용되기 전에 인덱스로 진행 중이던 쓰기 작업은 반드시 완료되어야 해요.
출처: 문서
본문
엔드포인트 (Endpoints)
PUT /{index}/_block/{block}
경로 파라미터 (Path parameters)
| 파라미터 | 데이터 타입 | 설명 |
|---|---|---|
| index | String | 쉼표로 구분된 인덱스 이름 목록이에요. 와일드카드 표현(*)을 지원해요. 클러스터의 모든 데이터 스트림과 인덱스를 대상으로 하려면 _all 또는 *를 사용해요. 선택 사항이에요. |
| <block> | String | 인덱스에 적용할 블록의 유형을 지정해요. 유효한 값은 다음과 같아요. - metadata : 인덱스 닫기 같은 메타데이터 변경을 차단해요. - read : 읽기 작업을 차단해요. - read_only : 쓰기 작업과 메타데이터 변경을 차단해요. - write : 쓰기 작업을 차단하지만 메타데이터 변경은 허용해요. - search_only : 인덱싱과 쓰기 작업을 차단하면서 검색 복제본을 통한 읽기 전용 접근은 허용해요. OpenSearch는 reader-writer 분리 메커니즘의 일부로 Scale API를 통해 이 블록을 자동으로 관리해요. 따라서 이 파라미터를 수동으로 설정하면 안 돼요. |
쿼리 파라미터 (Query parameters)
다음 표는 사용 가능한 쿼리 파라미터를 보여줘요. 모든 쿼리 파라미터는 선택 사항이에요.
| 파라미터 | 데이터 타입 | 설명 |
|---|---|---|
| ignore_unavailable | Boolean | false이면 요청이 없거나 닫힌 인덱스를 대상으로 할 때 오류를 반환해요. 기본값은 false예요. |
| allow_no_indices | Boolean | false이면 요청이 열린 인덱스를 대상으로 할 때조차 와일드카드 표현, 인덱스 별칭, _all이 닫히거나 없어진 인덱스만 대상으로 할 때 Refresh Index API가 오류를 반환해요. 기본값은 true예요. |
| expand_wildcards | String | 와일드카드 패턴이 일치할 수 있는 인덱스 유형이에요. 요청이 데이터 스트림을 대상으로 하면, 이 인자는 와일드카드 표현이 숨겨진 데이터 스트림과도 일치하는지 결정해요. open,hidden처럼 쉼표로 구분된 값을 지원해요. 유효한 값은 all, open, closed, hidden, none이에요. |
| cluster_manager_timeout | Time | 클러스터 매니저 노드에 연결하기 위해 기다리는 시간이에요. 기본값은 30s예요. |
| timeout | Time | 요청이 반환되기까지 기다리는 시간이에요. 기본값은 30s예요. |
예제 요청 (Example request)
다음 예제 요청은 test 인덱스에 대한 모든 쓰기 작업을 비활성화해요.
예제 응답 (Example response)
{
"acknowledged" : true,
"shards_acknowledged" : true,
"indices" : [ {
"name" : "test-index",
"blocked" : true
} ]
}