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) 또는 페이비바이트 |