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
  } ]
}

더 알아보기 (Learn more)