API 요청을 제어하는 입력 변수입니다
HTTP 요청에 설정된 매개 변수와 변수를 통해 API 호출이 처리되는 방식을 제어할 수 있습니다.
HTTP 메서드
SnapCenter REST API에서 지원하는 HTTP 메서드는 다음 표에 나와 있습니다.
모든 HTTP 메서드를 각 REST 끝점에서 사용할 수 있는 것은 아닙니다. |
HTTP 메소드 | 설명 |
---|---|
가져오기 |
리소스 인스턴스 또는 컬렉션의 개체 속성을 검색합니다. |
게시 |
제공된 입력을 기반으로 새 리소스 인스턴스를 만듭니다. |
삭제 |
기존 리소스 인스턴스를 삭제합니다. |
를 누릅니다 |
기존 리소스 인스턴스를 수정합니다. |
요청 헤더
HTTP 요청에 여러 헤더를 포함해야 합니다.
콘텐츠 유형
요청 본문에 JSON이 포함된 경우 이 헤더를 _application/json_으로 설정해야 합니다.
수락
이 헤더는 _application/json_으로 설정해야 합니다.
권한 부여
기본 인증은 base64 문자열로 인코딩된 사용자 이름과 암호로 설정되어야 합니다.
요청 본문
요청 본문의 내용은 특정 호출에 따라 달라집니다. HTTP 요청 본문은 다음 중 하나로 구성됩니다.
-
입력 변수가 있는 JSON 개체입니다
-
비어 있습니다
오브젝트 필터링
Get을 사용하는 API 호출을 실행할 때 모든 특성에 따라 반환된 객체를 제한하거나 필터링할 수 있습니다. 예를 들어, 다음과 같이 정확하게 일치하는 값을 지정할 수 있습니다.
<field>=<query value>
정확한 일치 항목 외에도 다른 연산자를 사용하여 값 범위에 있는 개체 집합을 반환할 수 있습니다. SnapCenter REST API는 아래 표에 나와 있는 필터링 연산자를 지원합니다.
운영자 | 설명 |
---|---|
= |
같음 |
를 누릅니다 |
보다 작음 |
를 누릅니다 |
보다 큼 |
= |
보다 작거나 같음 |
>= |
보다 크거나 같음 |
업데이트 |
또는 |
! |
같지 않음 |
* |
greedy 와일드카드 |
쿼리의 일부로 * null * 키워드 또는 해당 부정 *!null * 을 사용하여 특정 필드가 설정되었는지 여부를 기준으로 개체 컬렉션을 반환할 수도 있습니다.
설정되지 않은 필드는 일반적으로 일치하는 쿼리에서 제외됩니다. |
특정 객체 필드를 요청하는 중입니다
기본적으로 Get 을 사용하여 API 호출을 실행하면 개체나 개체를 고유하게 식별하는 특성만 반환됩니다. 이 최소 필드 집합은 각 개체의 키 역할을 하며 개체 유형에 따라 달라집니다. 를 사용하여 추가 개체 속성을 선택할 수 있습니다 fields
쿼리 매개 변수는 다음과 같은 방식으로 지정합니다.
공통 또는 표준 필드
가장 일반적으로 사용되는 개체 필드를 검색하려면 * fields=** 를 지정합니다. 이러한 필드는 일반적으로 로컬 서버 메모리에 유지되거나 액세스에 필요한 처리가 거의 필요하지 않습니다. 이 속성은 URL 경로 키(UUID)로 GET을 사용한 후 개체에 대해 반환되는 속성과 동일합니다.
모든 필드
액세스 시 추가 서버 처리가 필요한 필드를 포함하여 모든 오브젝트 필드를 검색하려면 * fields = * 를 지정합니다.
사용자 정의 필드 선택
필드=<field_name>* 를 사용하여 원하는 필드를 정확하게 지정합니다. 여러 필드를 요청할 때는 공백 없이 쉼표를 사용하여 값을 구분해야 합니다.
가장 좋은 방법은 항상 원하는 특정 필드를 식별하는 것입니다. 필요한 경우 공통 필드 또는 모든 필드 집합만 검색해야 합니다. 공통으로 분류되어 _ FACTORS= * _ 로 반환되는 필드는 내부 성능 분석에 따라 NetApp에서 결정합니다. 필드의 분류는 향후 릴리스에서 변경될 수 있습니다. |
출력 집합에서 오브젝트 정렬
리소스 컬렉션의 레코드는 개체에서 정의한 기본 순서로 반환됩니다. 를 사용하여 순서를 변경할 수 있습니다 order_by
다음과 같이 필드 이름 및 정렬 방향을 가진 쿼리 매개 변수:
order_by=<field name> asc|desc
예를 들어 유형 필드를 내림차순으로 정렬한 다음 ID를 오름차순으로 정렬할 수 있습니다.
order_by=type desc, id asc
-
정렬 필드를 지정하지만 방향을 지정하지 않으면 값이 오름차순으로 정렬됩니다.
-
여러 매개 변수를 포함할 때는 필드를 쉼표로 구분해야 합니다.
컬렉션의 개체를 검색할 때 페이지 매김
Get 을 사용하여 API 호출을 실행하여 같은 형식의 개체 컬렉션에 액세스하면 SnapCenter 는 두 가지 제약 조건에 따라 가능한 한 많은 개체를 반환합니다. 요청에 대한 추가 쿼리 매개 변수를 사용하여 이러한 각 제약 조건을 제어할 수 있습니다. 특정 GET 요청에 대한 첫 번째 제약 조건에 도달하면 요청이 종료되고 반환된 레코드 수가 제한됩니다.
모든 개체를 반복하기 전에 요청이 종료되면 응답에는 다음 레코드 배치를 검색하는 데 필요한 링크가 포함됩니다. |
개체 수 제한
기본적으로 SnapCenter 는 GET 요청에 대해 최대 10,000개의 오브젝트를 반환합니다. 이 제한은 _max_records_query 매개 변수를 사용하여 변경할 수 있습니다. 예를 들면 다음과 같습니다.
max_records=20
실제로 반환되는 개체 수는 관련 시간 제약 조건 및 시스템의 총 개체 수에 따라 실제 최대값보다 작을 수 있습니다.
객체를 검색하는 데 사용되는 시간 제한
기본적으로 SnapCenter 는 GET 요청에 허용된 시간 내에 가능한 한 많은 오브젝트를 반환합니다. 기본 시간 초과는 15초입니다. return_timeout_query 매개 변수를 사용하여 이 제한을 변경할 수 있습니다. 예를 들면 다음과 같습니다.
return_timeout=5
실제로 반환되는 개체 수는 시스템의 총 개체 수와 개체 수에 대한 관련 제약 조건에 따라 최대 개체수보다 작을 수 있습니다.
결과 집합 축소
필요한 경우 이러한 두 매개 변수를 추가 쿼리 매개 변수와 결합하여 결과 집합의 범위를 좁힐 수 있습니다. 예를 들어, 지정된 시간 이후에 생성된 최대 10개의 EMS 이벤트가 반환됩니다.
time⇒ 2018-04-04T15:41:29.140265Z&max_records=10
여러 요청을 발행하여 객체를 통해 페이지를 이동할 수 있습니다. 이후의 각 API 호출은 마지막 결과 집합의 최신 이벤트를 기반으로 새 시간 값을 사용해야 합니다.
크기 속성
일부 API 호출과 특정 쿼리 매개 변수에 사용되는 입력 값은 숫자입니다. 정수(바이트)를 제공하는 대신 다음 표에 나와 있는 접미사를 선택적으로 사용할 수 있습니다.
접미사 | 설명 |
---|---|
KB를 클릭합니다 |
KB 킬로바이트(1024바이트) 또는 키비바이트 |
MB |
MB 메가바이트(KB x 1024바이트) 또는 메가바이트 |
GB |
GB 기가바이트(MB x 1024바이트) 또는 기비바이트 |
TB |
TB 테라바이트(GB x 1024 byes) 또는 테비바이트 |
PB |
PB 페타바이트(TB x 1024 byes) 또는 페이비바이트 |